/* Style de la fenêtre d'info-bulle */
.gm-style-iw {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
  color: #333;
  font-family: Arial, sans-serif;
  font-size: 14px;
  padding: 10px;
  width: 300px;
}

/* Style du titre de l'info-bulle */
.gm-style-iw h3 {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Style du contenu de l'info-bulle */
.gm-style-iw p {
  margin: 0;
  padding: 5px 0;
}

/* Style pour la section de l'interface des distributeurs */
.distributors-interface {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
}

/* Style pour la pagination */
.pagination {
  margin-bottom: 10px;
}

/* Style pour le champ de recherche */
.search {
  margin-bottom: 10px;
}

/* Style pour le filtre par pays */
.filter {
  margin-bottom: 10px;
}

/* Style pour la liste des distributeurs */
.distributor-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 10px;
}

/* Style pour chaque distributeur */
.distributor {
  background-color: #f5f5f5;
  padding: 10px;
  border-radius: 5px;
  cursor: pointer;
}

.distributor h3 {
  margin-top: 0;
  font-size: 16px;
}

.distributor p {
  margin-bottom: 0;
  font-size: 14px;
}

/* Style pour le champ de recherche */
.search input[type="text"] {
  padding: 5px;
  width: 250px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* Style pour le filtre par pays */
.filter select {
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* Style pour la pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  transform: scale(0.8);
}

.pagination a,
.pagination span {
  padding: 5px 10px;
  margin: 0 2px;
  border: 1px solid #96bd0d;
  border-radius: 4px;
  text-decoration: none;
  color: #96bd0d;
  transition: 0.5s ease;
}

.pagination .current {
  background-color: #96bd0d;
}

.pagination a.active {
  font-weight: bold;
  color: black;
  background-color: #96bd0d;
  text-decoration: none;
  transition: 0.5s ease;
}

.pagination a {
  margin-right: 5px;
}

select#country-filter {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #96bd0d;
  border-radius: 4px;
  margin-top: 10px;
  margin-bottom: 10px;
  width: 100%;
}

/* Style pour le bouton Rechercher */
button#search-button {
  padding: 8px 16px;
  font-size: 14px;
  background-color: #96bd0d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#reset-button {
  padding: 4px 16px;
  font-size: 12px;
  background-color: #96bd0d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
  font-weight: bold;
  margin-bottom: 10px;
  transition: 0.5s ease;
}

#reset-button:hover {
  background-color: #4d9900;
  transition: 0.5s ease;
}

/* Style pour le champ de recherche */
input#address-input {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 200px;
}

#distrib {
  display: flex;
  width: 100%;
}

#distributors-map {
  display: inline-block;
  width: 70%;
  height: 500px;
}

#zone-list {
  width: 30%;
  padding: 0 0 0 20px;
}

.appear {
  display: none;
}

#spinner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #4d9900;
  border-radius: 50%;
  animation: spin 2s linear infinite;
  z-index: 9999;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 1199.98px) {
  input#address-input {
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .distributor h3 {
    font-size: 14px;
  }
}

@media (max-width: 767.98px) {
  #distrib {
    display: inline-block;
  }

  #distributors-map {
    width: 100%;
  }

  #zone-list {
    width: 100%;
    padding: 0;
    margin-top: 20px;
  }

  input#address-input {
    width: auto;
  }

  .distributor-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575.98px) {
  .distributor-list {
    grid-template-columns: repeat(1, 1fr);
  }
}