@import url('https://cdn-uicons.flaticon.com/2.6.0/uicons-regular-rounded/css/uicons-regular-rounded.css');

.smoobu-amenities-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.smoobu-amenity {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f8f8;
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 600;
    min-width: 120px;
    gap: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.smoobu-icon {
    width: 20px;
    height: 20px;
}

.smoobu-text {
    color: #333;
}
.smoobu-availability-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fff;
    padding: 15px;
    border-radius: 10px;
}

.smoobu-availability-form label {
    font-weight: bold;
}

.smoobu-availability-form input,
.smoobu-availability-form select {
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.smoobu-availability-form button {
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px !important;
    margin-top: 10px;
}

.smoobu-availability-success, .smoobu-availability-error, .smoobu-availability-warning {
    margin-top: 10px;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
}

.smoobu-availability-success {
    background: #d9ffe7;
    color: #013216;
}

.smoobu-availability-error {
    background: #ffe0e0;
    color: #490606;
}

.smoobu-availability-warning {
    background: #faf8c7;
    color: #3e250a;
}

.smoobu-button {
    display: inline-block;
    background: #28a745;
    color: white;
    padding: 10px;
    border-radius: 5px;
    text-decoration: none;
}

.smoobu-availability-all-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    background: #f8f8f8;
    padding: 15px;
    border-radius: 10px;
}
.price-logement {
    font-size: 30px important;
}

/* Form-ALL */

.smoobu-availability-all-form {
    display: flex;
    flex-flow: nowrap; /* Assurer que tout est sur une ligne */
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    max-width: 100%;
    overflow-x: auto; /* Permet de scroller si nécessaire */
}

.smoobu-form-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 250px; /* Assurer que les champs ne sont pas trop petits */
}

.smoobu-form-group label {
    font-size: 14px;
    font-weight: bold;
    color: #333;
}

.smoobu-form-group input {
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    width: 100%;
}

.smoobu-availability-all-form button {
    background: #DF5712 !important;
    color: white !important;
    border: none !important;
    font-weight: bold !important;
    cursor: pointer !important;
    border-radius: 5px !important;
    text-transform: uppercase !important;
    transition: background 0.3s !important;
    flex-shrink: 0 !important; /* Empêche le bouton de se réduire */
    margin-top: 20px !important;
}

.smoobu-availability-all-form button:hover {
    background: #1E3A46;
}

/* Responsive : Passage en colonne sur petits écrans */
@media (max-width: 1300px) {
    .smoobu-availability-all-form {
        flex-wrap: wrap; /* Permet le retour à la ligne sur petits écrans */
        justify-content: center;
    }

    .smoobu-form-group {
        min-width: 180px;
    }
}

.smoobu-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Fixe 4 colonnes égales */
    gap: 20px;
    padding: 20px;
    justify-content: center; /* Centre les éléments */
}

.smoobu-card {
    position: relative;
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
    width: 100%; /* S'assure que chaque carte a bien 1/4 de la largeur */
    max-width: 300px; /* Fixe une largeur max pour éviter l'agrandissement */
    margin: auto; /* Centrage automatique */
}

.smoobu-card:hover {
    transform: translateY(-5px);
}

.smoobu-card-img {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.smoobu-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smoobu-card-info {
    position: relative;
    padding: 15px;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.smoobu-card-info h5 {
    margin-bottom: 15px !important;
    font-size: 18px !important;
}

.smoobu-card-info h3 {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}

.smoobu-card-info p {
    margin: 5px 0;
    font-size: 14px;
    color: #555;
}

.smoobu-price {
    font-size: 30px;
    font-weight: bold;
    color: #000;
}

.smoobu-card-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.smoobu-button {
    background: #D97740;
    color: white;
    padding: 8px 15px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.smoobu-button:hover {
    background: #B86334;
}

.smoobu-link {
    color: #0073aa;
    text-decoration: none;
}

.smoobu-link:hover {
    text-decoration: underline;
}

/* Ajout d'espaces vides pour que la grille reste équilibrée */
.smoobu-placeholder {
    visibility: hidden;
    height: 0;
    width: 100%;
    max-width: 300px;
}

/* Responsive : Passage en 2 colonnes sur tablette et 1 colonne sur mobile */
@media (max-width: 1024px) {
    .smoobu-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

div#availability_results_all p {
    text-align: center;
    margin-top: 60px;
    font-size: 30px;
}
/* From Uiverse.io by PriyanshuGupta28 */ 
.loader {
    flex-direction: row;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 90px;
  }
  
  .circle {
    width: 20px;
    height: 20px;
    background-color: #E67B3D;
    background-image: linear-gradient(135deg, #E67B3D 0%, #F5C09D 100%);
    border-radius: 50%;
    margin-right: 1rem;
    animation: pulse 1.2s ease-in-out infinite;
  }
  
  .circle:nth-child(2) {
    animation-delay: 0.2s;
    background-color: #9FBDE5;
    background-image: linear-gradient(43deg, #9FBDE5 0%, #B9CDEC 46%, #D1DEF3 100%);
  }
  
  .circle:nth-child(3) {
    animation-delay: 0.4s;
    background-color: #7BC4A6;
    background-image: linear-gradient(160deg, #7BC4A6 0%, #C5E3D4 100%);
  }
  
  .circle:nth-child(4) {
    animation-delay: 0.6s;
    background-color: #7A4046;
    background-image: linear-gradient(62deg, #7A4046 0%, #B79695 100%);
  }
  
  .circle:nth-child(5) {
    animation-delay: 0.8s;
    background-color: #FCC553;
    background-image: linear-gradient(90deg, #FCC553 0%, #FFE2B0 100%);
  }
  
  @keyframes pulse {
    0% {
      transform: scale(0.8);
      opacity: 0.7;
    }
  
    50% {
      transform: scale(1);
      opacity: 1;
    }
  
    100% {
      transform: scale(0.8);
      opacity: 0.7;
    }
  }