/*
 * Fichier : style_calculateur.css
 * Description : Styles spécifiques pour la page du calculateur de prix
 */


.gite-actions {
    margin-top: 15px;
    display: flex; /* Pour aligner les boutons côte à côte */
    justify-content: center; /* Centrer les boutons */
    gap: 10px; /* Espace entre les boutons */
    flex-wrap: wrap; /* Permet aux boutons de passer à la ligne si l'espace est limité */
}

.btn-action {
    display: inline-block;
    padding: 10px 15px;
    border-radius: 5px;
    text-decoration: none;
    color: #fff; /* Couleur du texte */
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.btn-availability-link {
    background-color: #007bff; /* Un bleu pour la disponibilité */
}

.btn-availability-link:hover {
    background-color: #0056b3;
}

.btn-reservation-link {
    background-color: #28a745; /* Un vert pour la réservation */
}

.btn-reservation-link:hover {
    background-color: #1e7e34;
}

.gite-card.unavailable-price + .gite-actions {
    opacity: 0.6; /* Rendre les boutons semi-transparents si le gîte est indisponible */
    pointer-events: none; /* Rendre les boutons non cliquables */
}

/* --- Section Héro Calculateur (Harmonisé avec Accès) --- */
.hero-calculateur {
    padding: 3rem 0; /* Similaire à hero-acces */
    text-align: center;
}

.hero-calculateur h1 {
    font-size: 3em; /* Grande taille pour le titre, comme accès.php */
    margin-bottom: 0.5rem;
    color: #333; /* Couleur de texte harmonisée */
}

/* Picto Calculatrice et Lignes (jaune) */
.calculator-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 20px 0;
    max-width: 800px; /* Limite la largeur du wrapper icône + lignes */
    margin-left: auto;
    margin-right: auto;
}

.hero-icon-calculator {
    font-size: 2.5em; /* Taille de l'icône, comme la voiture */
    color: #FFD700; /* Jaune or pour l'icône */
    margin: 0 15px;
    flex-shrink: 0;
}

.calculator-icon-wrapper .line {
    flex-grow: 1;
    height: 2px;
    background-color: #FFD700; /* Couleur de ligne assortie en jaune or */
    max-width: 50%; /* Limite la longueur des lignes */
}


/* --- Section du Formulaire de Calculateur (le reste du CSS reste inchangé) --- */
.calculator-form-section {
    padding: 2rem 0;
    background-color: #fff; /* Fond blanc pour le formulaire */
    border-top: 1px solid #eee;
}

.calculator-form-section .container {
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
    border-radius: 8px;
}

.calculateur-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 750px;
    margin: 0 auto;
}

.calculateur-form-grid .form-group {
    display: flex;
    flex-direction: column;
}

.calculateur-form-grid label {
    font-weight: bold;
    margin-bottom: 5px;
    color: #555;
}

.calculateur-form-grid input[type="date"],
.calculateur-form-grid input[type="number"],
.calculateur-form-grid select {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
    width: 100%;
}

.calculateur-form-grid button[type="submit"] {
    grid-column: 1 / -1;
    margin-top: 20px;
}

/* --- Section des Résultats des Gîtes (Grille) --- */
#prix_resultats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
    padding: 20px 0;
}

.gite-card {
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 25px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: transform 0.2s ease-in-out;
}

.gite-card:hover {
    transform: translateY(-5px);
}

.gite-card h3 {
    color: #007bff;
    font-size: 1.5em;
    margin-bottom: 10px;
}

.gite-card p {
    color: #666;
    margin-bottom: 8px;
    line-height: 1.5;
}

.gite-card .prix-estime {
    font-size: 1.4em;
    color: #28a745;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 15px;
}

.gite-card .details-content {
    background-color: #e9ecef;
    border-left: 3px solid #007bff;
    padding: 15px;
    margin-top: 20px;
    text-align: left;
    font-size: 0.9em;
    color: #495057;
    white-space: pre-line;
    overflow-x: auto;
}

.gite-card .error-message {
    color: #dc3545;
    font-weight: bold;
    text-align: center;
    padding: 15px;
    border: 1px solid #dc3545;
    background-color: #f8d7da;
    border-radius: 5px;
    margin-top: 20px;
}

/* Styles pour les prix indisponibles */
.gite-card .unavailable-price {
    color: #dc3545 !important;
    font-weight: bold;
}

/* Styles pour le message "Indisponible pour les dates demandées" */
.gite-card .details-content .unavailable-message {
    color: #dc3545;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

/* Style pour les éléments barrés (dans les détails) */
.gite-card .details-content del {
    color: #888;
}


/* --- Media Queries pour le formulaire et les résultats --- */

/* Pour les tablettes (largeur max 768px) */
@media (max-width: 768px) {
    /* Mise à jour pour le H1 et icône sur tablette */
    .hero-calculateur h1 {
        font-size: 2.5em; /* Plus petit sur tablette */
    }
    .hero-icon-calculator {
        font-size: 2em; /* Plus petit sur tablette */
    }

    .calculateur-form-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: none;
    }

    .calculateur-form-grid button[type="submit"] {
        grid-column: 1 / -1;
    }

    #prix_resultats {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

/* Pour les smartphones (largeur max 480px) */
@media (max-width: 480px) {
    /* Mise à jour pour le H1 et icône sur smartphone */
    .hero-calculateur h1 {
        font-size: 2em; /* Encore plus petit sur smartphone */
    }
    .hero-icon-calculator {
        font-size: 1.8em; /* Encore plus petit sur smartphone */
    }

    .calculateur-form-grid {
        grid-template-columns: 1fr;
        max-width: none;
    }

    #prix_resultats {
        grid-template-columns: 1fr;
    }

    .gite-card {
        padding: 20px;
    }
}