html,
body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.font-bubble {
  font-family: pacifico, sans-serif;
}

/* NAVBAR */
nav .navbar-brand {
  font-family: pacifico, sans-serif;
  font-size: 1.438rem;
  color: #5a3825;
  margin-bottom: 0;
}

nav .navbar-brand:hover {
  color: #5a3825;
}

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

nav .nav-item {
  font-size: 0.938rem;
  text-decoration: none;
}

.navbar .nav-link {
  color: #000000;
  font-family: "poppins", sans-serif;
}

.nav-location-button {
  background-color: #fceaea;
  color: #800000;
  border-radius: 25px;
  padding: 10px 20px;
  transition: background-color 0.3s ease;
  border: none;
  font-family: "Poppins", sans-serif;
  margin-left: 10px;
  white-space: nowrap;
}

.nav-location-button:hover {
  background-color: #a66338;
  color: #fff;
}

@media (max-width: 768px) {
  body {
    padding-top: 56px;
  }

  nav .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .navbar .nav-item {
    width: 100%;
    text-align: left;
  }

  .nav-location-button {
    width: 100%;
    text-align: center;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    padding-top: 60px;
  }
}

/* PREMIERE SECTION ACCUEIL */

#accueil {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

.new-titre-accueil {
  color: white;
  font-size: 5.75rem;
  font-family: "Pacifico", sans-serif;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

#accueil .bulle-welcome {
  font-family: pacifico, sans-serif;
  position: absolute;
  left: 14%;
  top: calc(31%);
  padding: 0.5rem 1.5rem;
  background-color: rgba(165, 100, 70, 0.4);
  color: #eeebea;
  border-radius: 9999px;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  font-size: 1.1rem;
  font-weight: 500;
  z-index: 2;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

#accueil .titre-accueil {
  color: white;
  font-size: 5.75rem;
  text-align: left;
  margin: 18% 0 0 14%;
  z-index: 1;
  font-family: "Pacifico", sans-serif;
  position: relative;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

.new-slogan {
  font-family: "poppins", sans-serif;
  color: #eeebea;
  font-size: 1.5rem;
  font-weight: 500;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

#accueil .slogan {
  font-family: "poppins", sans-serif;
  position: absolute;
  left: 13%;
  top: calc(63%);
  padding: 0.5rem 1.5rem;
  color: #eeebea;
  font-size: 1.5rem;
  font-weight: 500;
  z-index: 2;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

#accueil img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

#accueil .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}

#accueil .buttons {
  position: absolute;
  bottom: 210px;
  left: 23.5%;
  transform: translateX(-50%);
  z-index: 1;
}

.buttons a {
  display: inline-block;
  margin: 10px;
  padding: 12px 25px;
  font-family: "Poppins", sans-serif;
  font-size: 0.975rem;
  text-decoration: none;
  border-radius: 25px;
  transition:
    background-color 0.3s ease,
    color 0.2s ease;
}

/* Bouton "Voir notre Menu" */
.bouton-menu {
  background-color: #c68b59;
  color: #ffffff;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

.bouton-menu:hover {
  background-color: #bb8254;
  color: #fff;
}

.bouton-menu i {
  display: inline-block;
  transition: transform 0.3s ease;
}

.bouton-menu:hover i {
  transform: translateX(6px);
}

/* Bouton "Nous Situer" */
.bouton-situer {
  background-color: #60493f;
  color: #ffffff;
  border-width: 2px;
  border-color: #8f7e78;
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

.bouton-situer:hover {
  background-color: #745d55;
  color: #fff;
}

/* CARD HORAIRES D'OUVERTURE */

.new-card-container {
  animation: fade-in 0.6s ease-in-out 0.2s both;
}

.card-container {
  max-width: 515px;
  margin: -10% auto;
  margin-right: 19%;
  padding: 2rem;
  animation: fade-in 0.6s ease-in-out 0.2s both;
  position: relative;
  z-index: 1;
}

.no-wrap {
  white-space: nowrap;
}

.opening-hours-card {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border: 1px solid #e5e7eb;
  transition: all 0.3s ease-in-out;
}

.opening-hours-card:hover {
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
}

.card-hours {
  color: #5a3825;
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  font-family: "pacifico", sans-serif;
}

.card-title {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  font-family: "pacifico", sans-serif;
}

.hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  font-size: 0.875rem;
  color: #4b5563;
  white-space: nowrap;
  margin: 0;
  gap: 0.7rem;
}

.hours-grid p {
  margin: 0;
  padding: 0;
  text-align: left;
}

.text-right {
  text-align: right;
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .new-titre-accueil {
    font-size: 3.7rem;
  }
}

@media (max-width: 768px) {
  #accueil .titre-accueil {
    font-size: 3.7rem;
    margin: 40% 10% 0 8%;
  }

  #accueil .bulle-welcome {
    top: 13%;
    left: 7%;
    padding: 0.4rem 1.2rem;
  }

  .card-container {
    margin: 70% auto 0 auto;
    padding: 1.5rem;
    max-width: 90%;
  }

  .opening-hours-card {
    padding: 1.2rem;
  }

  .hours-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: 0.875rem;
    gap: 0.7rem;
    white-space: normal;
    word-break: break-word;
  }

  .hours-grid p {
    margin: 0;
    padding: 0;
  }

  .text-right {
    text-align: right;
  }

  .hours-grid p:last-child {
    grid-column: span 2;
    text-align: center;
    margin-top: 1.1rem;
  }

  #accueil .slogan {
    font-size: 1.3rem;
    top: 35%;
    left: 7%;
    padding: 0.4rem 1rem;
    width: 80%;
  }

  #accueil .buttons {
    position: static;
    margin: -27rem auto 0 auto;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: none;
    bottom: auto;
    left: auto;
    z-index: 2;
  }

  #accueil .buttons a {
    width: 100%;
    padding: 0.9rem 0;
    font-size: 1rem;
    text-align: center;
    border-radius: 25px;
  }
}

/*SECTION 2 WELCOME*/

#welcome {
  min-height: 80vh;
  background-color: #fcf5f0;
}

.new-welcome-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
}

#welcome .welcome-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
  text-align: center;
}

.new-welcome-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1.2rem;
  color: #000000;
}

#welcome .welcome-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1.2rem;
  color: #000000;
  text-align: center;
  margin-top: 1rem;
}

.icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-pink {
  background-color: #fbcfe8;
}

.bg-green {
  background-color: #bbf7d0;
}

.bg-yellow {
  background-color: #fef08a;
}

#welcome .h5 {
  font-family: "pacifico", sans-serif;
  font-size: 1.2rem;
  color: #000000;
  text-align: center;
  margin-top: 1%;
}

#welcome .text-muted {
  font-family: "poppins", sans-serif;
  font-size: 1rem;
  color: #000000;
  text-align: center;
  margin-top: 2%;
}

#welcome .card {
  border-radius: 20px;
  background-color: #fffdfc;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

#welcome .card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

/* Responsive - Tablette et plus */
@media (min-width: 768px) {
  .welcome-slogan {
    max-width: 700px;
    margin: 1rem auto 0 auto;
  }
}

/* Responsive - Mobile */
@media (max-width: 767.98px) {
  #welcome {
    min-height: auto; /* Hauteur automatique sur mobile */
    padding: 3rem 1rem; /* Plus d'espace vertical */
  }

  #welcome .welcome-titre {
    font-size: 2.5rem;
  }

  #welcome .welcome-slogan {
    font-size: 1rem;
    margin-top: 1rem;
  }

  #welcome .card {
    margin-bottom: 1rem; /* Espacement entre les cartes */
  }
}

/* Responsive - Petits mobiles */
@media (max-width: 575.98px) {
  #welcome {
    padding: 2rem 0.5rem;
  }

  #welcome .welcome-titre {
    font-size: 2rem;
  }
}

/* SECTION 3 MENU */

#viewMenu {
  position: relative;
  min-height: 120vh;
  overflow: hidden;
  background-color: #ffffff;
}

.new-viewMenu-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
}

#viewMenu .viewMenu-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
  text-align: center;
  margin-top: 4%;
}

#viewMenu .card-title {
  font-family: "pacifico", sans-serif;
  font-size: 1.2rem;
  color: #000000;
  text-align: center;
  margin-top: 1%;
}

#viewMenu .card-text {
  font-family: "poppins", sans-serif;
  font-size: 1rem;
  color: #000000;
  margin-top: 2%;
}

#viewMenu .card {
  border-radius: 20px;
  background-color: #fffdfc;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  margin-top: 5%;
}

#viewMenu .card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.full-menu {
  color: #4d1a1e;
  background-color: #ffdee2;
  border-color: #ffdee2;
  border-radius: 9999px;
  font-size: 1rem;
}

.full-menu:hover {
  background-color: #ffe5e8;
  border-color: #ffe5e8;
  color: #4d1a1e;
}

#viewMenu .full-menu svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 768px) {
  #viewMenu {
    min-height: 168rem;
  }

  #viewMenu .viewMenu-titre {
    font-size: 3rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  #viewMenu .full-menu {
    margin-top: 5%;
  }
}

/* SECTION 4 GALERIE */

#viewGalerie {
  position: relative;
  min-height: 80vh;
  overflow: hidden;
  background-color: #f8f7f9;
}

.new-viewGalerie-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
}

.new-viewGalerie-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1.2rem;
  color: #000000;
}

#viewGalerie .viewGalerie-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1.2rem;
  color: #000000;
  text-align: center;
  margin-top: 2%;
  margin-bottom: 2%;
}

/* Styles pour la galerie */
#viewGalerie .gallery-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

#viewGalerie .grid {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

#viewGalerie .image-wrapper {
  width: 322px;
  height: 256px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#viewGalerie .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

#viewGalerie .image-wrapper:hover img {
  transform: scale(1.05);
}

.full-galerie {
  background-color: #fde1d3;
  border-color: #fde1d3;
  color: #4d1a1e;
  font-weight: bold;
  border-radius: 25px;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
  font-size: 1rem;
}

.full-galerie:hover {
  background-color: #fce5db;
  border-color: #fce5db;
  color: #4d1a1e;
}

.desktop-br {
  display: inline;
}

@media (max-width: 768px) {
  #viewGalerie {
    min-height: 80rem;
  }

  #viewGalerie .viewGalerie-titre {
    font-size: 2.2rem;
    margin-top: 2rem;
  }

  #viewGalerie .viewGalerie-slogan {
    font-size: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    padding: 0 1rem;
  }

  #viewGalerie .gallery-container {
    padding: 0 10px;
  }

  #viewGalerie .image-wrapper {
    width: 100%;
    max-width: 300px;
    height: 220px;
    margin: 0 auto;
  }

  #viewGalerie .full-galerie {
    margin-top: 5%;
  }

  .desktop-br {
    display: none;
  }
}

/* SECTION 5 LOCATION */

.new-viewLocation-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
}

#viewLocation .viewLocation-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
  text-align: center;
  margin-bottom: 2rem;
}

/* Conteneur principal */
.location-container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  height: calc(588px - 6rem);
}

/* Grille */
.location-grid {
  display: grid;
  grid-template-columns: 600px 1fr;
  gap: 2rem;
  width: fit-content;
  margin: 0 auto;
  align-items: stretch;
}

/* Carte */
.location-map iframe {
  width: 100%;
  height: 400px;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Détails */
.location-details {
  background-color: #ffffff;
  padding: 1.5rem;
  min-height: 500px;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: 520px;
}

/* Titre de l'adresse */
.location-title {
  font-family: pacifico, sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  color: #5a3825;
  margin-bottom: 1rem;
}

/* Adresse */
.location-address {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  color: #374151;
  margin-bottom: 1.5rem;
}

/* Sous-titres */
.location-subtitle {
  font-family: pacifico, sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  color: #5a3825;
  margin-bottom: 0.5rem;
}

/* Horaires */
.location-hours {
  margin-top: 7%;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: #374151;
  margin-bottom: 1.5rem;
}

/* Informations supplémentaires */
.location-info {
  font-family: "Poppins", sans-serif;
  font-size: 0.975rem;
  color: #374151;
  margin-bottom: 1.5rem;
}

/* Bouton de direction */
.btn-get-directions {
  display: inline-block;
  background-color: #ffdee2;
  color: #4d1a1e;
  padding: 0.75rem 2rem;
  border-radius: 25px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
  text-align: center;
  margin-top: auto;
}

.btn-get-directions:hover {
  background-color: #ffe5e8;
}

@media (max-width: 1024px) {
  #viewLocation {
    padding-bottom: 3%; /* Tablette (iPad) : espace réduit */
  }
}

@media (max-width: 768px) {
  #viewLocation {
    padding-bottom: 8%; /* Mobile : espace plus important */
  }
}

/* Tablette large (jusqu'à iPad) */
@media (max-width: 1024px) {
  .location-container {
    height: auto;
    padding: 0 2rem;
    max-width: 900px;
    margin: 0 auto;
  }

  .location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    width: 100%;
    max-width: 900px;
  }

  .location-map iframe {
    height: 350px;
    width: 100%;
  }

  .location-details {
    max-width: 100%;
    min-height: auto;
    padding: 1.5rem;
  }
}

/* Tablettes et mobiles moyens */
@media (max-width: 768px) {
  .location-container {
    height: auto;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 600px;
    margin: 0 auto;
  }

  .location-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px;
    gap: 1.5rem;
  }

  .location-map iframe {
    height: 300px;
    width: 100%;
  }

  .location-details {
    max-width: 100%;
    min-height: auto;
    padding: 1rem;
  }

  #viewLocation .viewLocation-titre {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
  }

  .location-title,
  .location-subtitle {
    font-size: 1.3rem;
  }

  .location-address,
  .location-info,
  .location-hours p {
    font-size: 0.9rem;
  }

  .btn-get-directions {
    width: 100%;
    padding: 0.75rem;
    text-align: center;
  }
}

/* Petits mobiles */
@media (max-width: 400px) {
  #viewLocation .viewLocation-titre {
    font-size: 2rem;
  }

  .location-title,
  .location-subtitle {
    font-size: 1rem;
  }

  .location-address,
  .location-info,
  .location-hours p {
    font-size: 0.85rem;
  }
}

@media (max-width: 320px) {
  #viewLocation {
    min-height: 150vh;
  }
}

/* Petits mobiles */
@media (min-width: 321px) and (max-width: 400px) {
  #viewLocation {
    min-height: 110vh;
  }
}

/* Mobiles moyens */
@media (min-width: 401px) and (max-width: 480px) {
  #viewLocation {
    min-height: 110vh;
  }
}

/* Mobiles grands */
@media (min-width: 481px) and (max-width: 768px) {
  #viewLocation {
    min-height: 135vh;
  }
}

@media (min-width: 1000px) and (max-width: 1050px) and (max-height: 650px) {
  #viewLocation {
    min-height: 130vh;
  }
}

/* PAGE MENU */
.menu-content {
  background-color: #fefefe;
}

.menu-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
  text-align: center;
  margin-top: 4%;
}

.menu-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1rem;
  color: #0e0c0b;
  text-align: center;
  margin-top: 1.5%;
  margin-bottom: 2%;
}

.card-title {
  font-family: "pacifico", sans-serif;
  font-size: 1.2rem;
  color: #000000;
  text-align: center;
  margin-top: 1%;
}

.card-text {
  font-family: "poppins", sans-serif;
  font-size: 1rem;
  color: #000000;
  margin-top: 2%;
}

.card {
  border-radius: 20px;
  background-color: #fffdfc;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  margin-top: 5%;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.allergene-section {
  background-color: #ffffff;
  padding: 1rem;
  height: 220px;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: 700px;
  margin: 0 auto;
  align-items: flex-start;
  margin-top: 5%;
  margin-bottom: 5%;
}

.allergene-title {
  font-family: pacifico, sans-serif;
  font-size: 1.3rem;
  color: #5a3825;
  margin-bottom: 1rem;
}

.allergene-description {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  color: #4b5563;
}

.allergene-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.badge {
  padding: 0.35em 0.65em;
  font-size: 0.9em;
  border-radius: 0.35rem;
  font-weight: 500;
}

/* Badge personnalisés */
.badge-vegetalien {
  background-color: #fbfef6;
  color: #3a6554;
  font-weight: normal;
  font-family: poppins, sans-serif;
  font-size: 0.855rem;
}

.badge-sans-gluten {
  background-color: #fffdf0;
  color: #a54d0e;
  font-weight: normal;
  font-family: poppins, sans-serif;
  font-size: 0.855rem;
}

.badge-sans-lait {
  background-color: #f8d7da;
  color: #991c24;
  font-weight: normal;
  font-family: poppins, sans-serif;
  font-size: 0.855rem;
}

/* Responsive : ajustement des marges et tailles pour petits écrans */
@media (max-width: 768px) {
  .allergene-section {
    margin-top: 3rem;
    margin-bottom: 3rem;
    height: auto;
    padding: 1.2rem;
    width: 95%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }

  .allergene-title {
    font-size: 1.5rem;
  }

  .allergene-description {
    font-size: 0.95rem;
  }

  .badge {
    font-size: 0.8rem;
  }
}

@media (max-width: 480px) {
  .allergene-section {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding: 1rem;
    width: 95%; /* Réduire encore plus pour les petits écrans */
    max-width: 500px; /* Limiter la largeur à 500px max */
  }

  .allergene-title {
    font-size: 1.4rem; /* toujours plus grand que le texte normal */
  }

  .allergene-description {
    font-size: 0.9rem;
  }

  .badge {
    font-size: 0.75rem;
  }
}

/* Responsive : ajustements progressifs pour le menu */
@media (max-width: 1024px) {
  .menu-titre {
    font-size: 3rem;
    margin-top: 3.5%;
  }

  .menu-slogan {
    font-size: 0.95rem;
  }
}

@media (max-width: 768px) {
  .menu-titre {
    font-size: 3rem;
    margin-top: 3%;
  }

  .menu-slogan {
    font-size: 0.9rem;
    margin: 1% 1rem 2%;
  }
}

@media (max-width: 480px) {
  .menu-titre {
    font-size: 2.5rem;
    margin-top: 2.5%;
  }

  .menu-slogan {
    font-size: 0.85rem;
    margin: 1% 1rem 3%;
  }
}

@media (min-width: 1025px) {
  .menu-slogan {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

/* PAGE GALERIE */
.main-content {
  background-color: #fefefe;
}

.galerie-titre {
  font-family: "Pacifico", sans-serif;
  font-size: 3.5rem;
  color: #5a3825;
  text-align: center;
  margin-top: 4%;
}

.galerie-slogan {
  font-family: "poppins", sans-serif;
  font-size: 1rem;
  color: #0e0c0b;
  text-align: center;
  margin-top: 2%;
  margin-bottom: 1.5%;
}

.filter-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.filter-btn {
  background-color: #f3f4f6;
  color: #000000;
  border: none;
  padding: 10px 20px;
  border-radius: 9999px;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
  cursor: pointer;
  transition:
    background-color 0.3s,
    color 0.3s;
}

.filter-btn.active {
  background-color: #ffdee2;
  color: #7f1f1f;
}

/* Responsive : boutons de filtre */
@media (max-width: 768px) {
  .filter-buttons {
    flex-direction: row;
    justify-content: center;
    margin-top: 2rem; /* espace au-dessus */
    margin-bottom: 1rem; /* espace avant la section suivante ou footer */
    gap: 10px;
    padding: 0 1rem;
  }

  .filter-btn {
    padding: 8px 16px;
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  .filter-buttons {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    gap: 8px;
    padding: 0 0.5rem;
  }

  .filter-btn {
    padding: 7px 14px;
    font-size: 0.85rem;
  }
}

.grid {
  display: grid;
  grid-template-columns: repeat(4, 322px); /* 4 colonnes fixes */
  gap: 15px;
  justify-content: center;
}

.image-wrapper {
  width: 322px;
  height: 256px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.image-wrapper:hover img {
  transform: scale(1.05);
}

.instagram-section {
  background-color: #ffffff;
  padding: 1rem;
  min-height: 200px;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: 700px;
  margin: 0 auto;
  align-items: flex-start;
  margin-bottom: 5%;
}

.instagram-title {
  font-family: pacifico, sans-serif;
  font-size: 1.8rem; /* Augmenter la taille du titre */
  color: #5a3825;
  margin-bottom: 1rem;
}

.instagram-description {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  color: #4b5563;
}

.hashtag {
  color: #5a3825;
  font-weight: 600;
  font-size: 1rem;
}

.instagram-link {
  color: #4d1a1e;
  background-color: #ffdee2;
  border-color: #ffdee2;
  border-radius: 9999px;
  font-size: 1rem;
  padding: 10px 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.instagram-link svg {
  width: 16px;
  height: 16px;
}

.instagram-link:hover {
  background-color: #ffe5e8;
  border-color: #ffe5e8;
  text-decoration: none;
}

/* Media Queries */
@media (max-width: 1300px) {
  .grid {
    grid-template-columns: repeat(3, 322px);
    justify-content: center;
  }
}

@media (max-width: 980px) {
  .grid {
    grid-template-columns: repeat(2, 322px);
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .instagram-section {
    margin-top: 3rem;
    margin-bottom: 3rem;
    width: 95%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }

  .grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 1rem;
    gap: 15px;
  }

  .image-wrapper {
    width: 100%;
    max-width: none;
    aspect-ratio: 322 / 256;
  }

  .galerie-titre {
    font-size: 2.2rem;
    margin-top: 2rem;
  }

  .galerie-slogan {
    margin-top: 5%;
    font-size: 0.9rem;
    padding: 0 1rem;
  }

  .filter-buttons {
    gap: 8px;
    padding: 0 1rem;
    flex-wrap: wrap;
  }

  .filter-btn {
    padding: 8px 16px;
    font-size: 0.9rem;
  }

  .instagram-title {
    font-size: 1.5rem;
  }

  .instagram-description {
    font-size: 0.9rem;
  }

  .instagram-link {
    font-size: 0.9rem;
    padding: 8px 16px;
  }
}

@media (max-width: 480px) {
  .instagram-section {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
    width: 95%;
    max-width: 500px;
  }

  .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .filter-btn {
    padding: 7px 14px;
    font-size: 0.85rem;
  }
}

/*FOOTER*/
.content {
  flex-grow: 1;
}

footer {
  background-color: #5a3825;
  padding: 30px 15px; /* Réduire le padding général */
  color: #333;
  text-align: left;
  width: 100%;
  font-family: "Poppins", sans-serif;
}

footer .footer-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px; /* Réduire l'écart entre les éléments */
  max-width: 1200px;
  margin: 0 auto;
}

footer .footer-section {
  flex: 1;
  margin: 8px; /* Réduire la marge autour de chaque section */
}

footer .footer-section h3 {
  font-family: "Pacifico", cursive;
  font-size: 20px; /* Réduire la taille du titre */
  margin-bottom: 0.8rem; /* Réduire l'espace en dessous du titre */
  color: #ffffff;
}

footer .footer-section p {
  font-size: 0.9rem; /* Réduire la taille du texte */
  line-height: 1.5;
  color: #ded7d3;
  margin: 0;
}

footer .footer-section ul {
  list-style-type: none;
  padding: 0;
}

footer .footer-section ul li {
  margin-bottom: 0.3rem; /* Réduire l'espace entre les liens */
}

footer .footer-section ul li a {
  text-decoration: none;
  color: #ded7d3;
  font-weight: 500;
  transition: color 0.3s ease;
}

footer .footer-section ul li a:hover {
  color: #007bff;
}

footer hr {
  border: 0;
  border-top: 1px solid #e0e0e0;
  margin: 20px 0; /* Réduire l'espace avant et après le séparateur */
}

footer .footer-section ul li .footer-link {
  font-weight: 500;
  color: #ded7d3;
  transition: color 0.3s ease;
}

.footer-schedule {
  display: flex;
  justify-content: space-between;
  width: 200px; /* Réduire la largeur des horaires */
  color: #ded7d3;
  font-size: 0.9rem; /* Réduire la taille des horaires */
  line-height: 1.5;
}

footer hr {
  border: 0;
  border-top: 1px solid #e0e0e0;
  width: 50%; /* Réduire la largeur du séparateur */
  margin: 20px auto;
}

footer .copyright {
  font-size: 0.75rem;
  color: #bdaf92;
  text-align: center;
  margin-top: 20px;
}

@media (max-width: 768px) {
  footer .footer-container {
    flex-direction: column;
    align-items: center;
  }

  footer .footer-section {
    text-align: center;
    margin: 15px 0;
  }

  footer .footer-schedule {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}

.social-icon {
  margin-right: 15px;
  display: inline-block;
  text-decoration: none;
}

.social-icon svg {
  width: 20px;
  height: 20px;
  fill: white;
}
