.hero{
    text-align:center;
    padding:45px 15px 30px;
    background:linear-gradient(to bottom,#1abc9c,#16a085);
    color:#fff;
    border-bottom-left-radius:35px;
    border-bottom-right-radius:35px;
}

.hero h1{
    font-size:30px;
    margin-bottom:8px;
}

.hero p{
    font-size:16px;
    opacity:0.9;
}

/* catégories */
.categories{
    display:flex;
    flex-wrap:wrap;
    gap:25px;
    justify-content:center;
    margin-top:-25px;
}

.cat-card{
    width:280px;
    background:#fff;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(0,0,0,0.12);
    padding:18px;
    text-align:center;
}

.cat-card img{
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:10px;
    margin-bottom:10px;
}

.cat-card h3{
    font-size:18px;
    margin-bottom:5px;
}

.cat-card p{
    font-size:14px;
    margin-bottom:10px;
}

/* liste voitures */
.voitures-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:20px;
}

.voiture-card img{
    width:100%;
    height:160px;
    object-fit:cover;
    border-radius:10px;
    margin-bottom:10px;
}

.voiture-card h3{
    font-size:17px;
    margin-bottom:4px;
}

.voiture-card p{
    font-size:14px;
    margin-bottom:6px;
}

/* formulaire */
.form-row{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:10px;
}

label{
    font-size:14px;
    font-weight:500;
    margin-bottom:4px;
    display:block;
}

input[type="text"],
input[type="date"],
input[type="number"],
select,
textarea{
    width:100%;
    padding:8px 10px;
    border-radius:8px;
    border:1px solid #d0d4dc;
    font-size:14px;
}

textarea{
    resize:vertical;
}

/* tableau réservations */
.table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}

.table th,
.table td{
    padding:10px 8px;
    border-bottom:1px solid #e3e5ea;
}

.table th{
    text-align:left;
    background:#f0f2f7;
    font-weight:600;
}
