.chambres{
    padding: 120px 2% 80px;
    background: #f8f8f8;
    min-height: 100vh;
}
.titre{
    text-align: center;
    margin-bottom: 60px;
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
    url("../images/hotel1.jpg");
    background-position: center;
    background-size: cover;
    border-radius: 10px;
    overflow: hidden;
}
.titre h1{
    font-family: 'Playfair Display', serif;
    font-size: 55px;
    color: white;
    margin-bottom: 15px;
}
.titre p{
    color: white;
    font-size: 25px;
}
.titre h1,
.titre p{
    animation: descendre 1.5s ease forwards;
}
@keyframes descendre{
    from{
        opacity:0;
        transform:translateY(-80px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.liste-chambres{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    width:100%;
    margin:auto;
}
.card{
    background:white;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,0.12);
    transition:0.4s;
}
.card:hover{
    transform:translateY(-12px);
}
.card img{
    width:100%;
    height:250px;
    object-fit:cover;
}
.contenu{
    padding:25px;
}
.contenu h3{
    color:#222;
    font-size:24px;
    margin-bottom:15px;
    font-family:'Playfair Display',serif;
}
.contenu p{
    color:#555;
    font-size:16px;
    margin:12px 0;
}
.contenu p i{
    color:#d4af37;
    margin-right:8px;
}
.contenu h2{
    color:#d4af37;
    font-size:25px;
    margin:20px 0;
}
.contenu h2 i{
    margin-right:8px;
}
.btn{
    display:block;
    width:100%;
    text-align:center;
    text-decoration:none;
    background:#d4af37;
    color:white;
    padding:14px;
    border-radius:8px;
    font-weight:600;
    transition:0.3s;
}
.btn:hover{
    background:#b8922e;
}

.message-succes{
    width:80%;
    margin:120px auto 30px;
    padding:15px;
    background:#d4edda;
    color:#155724;
    border-radius:8px;
    text-align:center;
    font-weight:600;
}
.message-erreur{
    width:80%;
    margin:120px auto 30px;
    padding:15px;
    background:#f8d7da;
    color:#f5051d;
    border-radius:8px;
    text-align:center;
    font-weight:600;
}
.message-succes i,
.message-erreur i{
    margin-right:8px;
}

@media(max-width:1000px){
    .liste-chambres{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){
    .liste-chambres{
        grid-template-columns:1fr;
    }
    .titre{
        height:300px;
    }
    .titre h1{
        font-size:35px;
    }
    .titre p{
        font-size:18px;
    }

}