.famille_produit_container{display:flex; flex-wrap:wrap; justify-content:flex-start; gap:1rem; margin-bottom:30px;}
.famille_produit{display:block; width:150px; border:1px solid #ccc; padding:10px 20px; border-radius:15px; list-style:none; margin:0; cursor:pointer;}
.famille_produit.active, .famille_produit:hover{background-color:#f3f3f3;}

.desciption-longue{width:100%;}

.cat_produits_container{display:flex; gap:2rem; flex-wrap:wrap; justify-content:flex-start; padding-bottom:20px;}
.cat_produit{flex:0 0 calc(33.333% - 1.333rem); border:1px solid transparent; padding:20px; border-radius:15px; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; margin:0; transition:0.3s ease all 0s; position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:1rem;}
.cat_produit:hover{box-shadow: rgba(0, 0, 0, 0.3) 5px 5px 8px 0px; background-color:#f3f3f3;}
.cat_produit__content{width:100%;}
.cat_produit h2{font-size:180%; font-weight:bold; margin:0 0 15px;}
.cat_produit i{float:right;}
.cat_produit a{position:initial;}
.cat_produit a:hover{text-decoration:none;}
.cat_produit a:after{content:""; position:absolute; inset:0; width:100%; height:100%; z-index:1;}
.cat_produit__meta{width:100%; border-top:1px solid #f3f3f3; padding-top:10px;}


.produits_container{display:flex; gap:2rem; flex-wrap:wrap; justify-content:flex-start; padding-bottom:20px;}
.produit{flex:0 0 calc(33.333% - 1.333rem); border:1px solid transparent; border-radius:15px; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; margin:0; transition:0.3s ease all 0s; position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:1rem;}
.produit:hover{box-shadow: rgba(0, 0, 0, 0.3) 5px 5px 8px 0px; background-color:#f3f3f3;}
.produit__visuel{aspect-ratio:1.5; position:relative;}
.produit__visuel img{height:100%; width:100%; object-fit:contain; aspect-ratio:1.5; }
.produit-floating-btns{position:absolute; inset:0; width:100%; height:100%; display:none; flex-direction:column; gap:2rem; justify-content:center; align-items:center; background:rgba(114, 13, 45, 0.5);}
.produit:hover .produit-floating-btns{display:flex;}
.produit__content{width:100%; padding:20px; }
.produit h2{font-size:180%; font-weight:bold; margin:0 0 15px;}
.produit__btns{width:100%; border-top:1px solid #f3f3f3; padding-top:10px; padding:20px; border-radius:0 0 15px 15px; display:flex; justify-content:space-between;}
.location-btn{display:block; padding:10px 15px; border:1px solid #720d2d; background-color:#720d2d; color:#fff; border-radius:15px; margin:0; cursor:pointer;}
.location-btn:hover{background-color:#fff; color:#720d2d;}
a.produit__detail{display:block; padding:10px 15px; border:1px solid #720d2d; border-radius:15px; margin:0; cursor:pointer; background-color:#fff; color:#720d2d;}
a.produit__detail:hover{background-color:#720d2d; color:#fff; text-decoration:none;}


/* Single produit */
.produit-thumbnail{aspect-ratio:1;}
.produit-thumbnail img{height:100%; width:100%; object-fit:contain; aspect-ratio:1; }
.produit-presentation{display:flex; flex-direction:column; gap:2rem;}

.product .location-btn{width:max-content; padding:15px 20px; font-size:100%;}
.product .location-btn i{margin-right:8px;}

.produits_container.other .produit{flex:0 0 calc(25% - 1.5rem);}
.produits_container.other .location-btn{padding:10px; font-size:80%;}
.produits_container.other a.produit__detail{padding:10px; font-size:80%;}


/* Popup location */
.popup-location{position:fixed; inset:0; width:100%; height:100%; background-color:rgba(0,0,0,0.9); z-index:10000; display:none;}
.popup-location_container{position:absolute; inset:0; width:100%; height:100%; display:flex; justify-content:center; align-items:center;}
.popup-location_content{background-color:#fff; border-radius:20px; overflow:hidden; width:500px; max-height:95vh; overflow:scroll;}
.popup-location_header{background-color:#720d2d; padding:20px; color:#fff; position:relative; font-size:160%;}
.popup-location_header .popup-location_closer{position:absolute; top:10px; right:10px; background-color:rgba(255,255,255,0.2); height:40px; width:40px; border-radius:50px; display:flex; justify-content:center; align-items:center; font-size:60%; cursor:pointer;}
.popup-location_header .popup-location_closer:hover{background-color:rgba(255,255,255,0.4);}
.location-product-name{font-size:60%; display:block;}

.custom-form-container{display:flex; gap:1rem 2rem; flex-wrap:wrap; padding:20px; margin:0; font-size:80%;}
.custom-form-container input{border-bottom:1px solid #720d2d !important;}
.custom-form-container textarea{border:1px solid #720d2d !important; border-radius:5px; padding:10px;}
.popup-location_form .col-1-2{flex:0 0 calc(50% - 2rem);}
.popup-location_form .col-2-2{flex:0 0 100%;}
.form-footer{padding:20px; background-color:#f3f3f3;}
.form-footer p{display:flex; gap:1rem; flex-wrap:wrap; justify-content:space-between; width:100%;}

.wpcf7 .form-footer input[type="submit"]{background-color:#720d2d; color:#fff !important; border:1px solid #720d2d; padding:10px 25px; margin:0; text-transform:inherit;}
.wpcf7 .form-footer input[type="submit"]:hover{background-color:#fff; color:#720d2d !important;}

.form-footer .popup-location_closer{background-color:#fff; color:#666; border:1px solid #ccc; padding:10px 25px; border-radius:15px; margin:0; cursor:pointer;}
.form-footer .popup-location_closer:hover{background-color:#ccc; color:#666;}

.form-footer .wpcf7-spinner{display:none;}

.form-validation{padding:40px 20px;}
.form-validation h3{margin-top:0;}

@media all and (max-width:1199px){
    .cat_produit{flex-basis:calc(50% - 1rem);}
    .produit{flex-basis:calc(50% - 1rem);}
}

@media all and (max-width:782px){
    .cat_produit{flex-basis:100%;}
    .produit{flex-basis:100%;}

    .popup-location_form .col-1-2{flex-basis:100%;}

}

@media all and (max-width:360px){
    .produit__btns{flex-direction:column; gap:1rem;}
    .location-btn, a.produit__detail{text-align:center;}
}
