.loca_page{
	display:block;margin-left:auto;margin-right:auto;width:95%;font-family: 'Segoe UI', sans-serif; padding: 20px; margin: 0;
}	
	
	.card1 {
 width: 1100px;
  background: #ffffff;
  font-family: 'Oswald', sans-serif !important;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,0.08);
  transition: 0.4s ease;
  margin-bottom: 20px;
  border: 2px solid #ddd;
}
.card-image1{
	width:300px;
	display:block;
	float:left;
	margin-right:20px;
}
.pave_right_loc{
	display:block;
	float:right;
	width:250px;
	height:auto;
	padding-right:10px;
	/* border:1px solid red; */
}
.pave_cen{
	display:block;
	float:left;
	width:500px;
}
  :root { --primary: #3498db; --secondary: #2ecc71; --dark: #2c3e50; --accent: #e67e22; }
       

        /* CONFIGURATION PC (4 PAR LIGNE) */
        .vam-container { 
            display: block; 
            /* grid-template-columns: repeat(4, 1fr);  */
			float:left;
            gap: 20px; 
            max-width: 1400px; 
            margin: 0 auto; 
        }

        .vam-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); display: block;float:left; margin-bottom:30px;}
        .vam-image-container { position: relative; width: 100%; height: 180px; background: #ddd; }
        .vam-image { width: 100%; height: 100%; object-fit: cover; }
        .ref-badge { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.6); color: white; padding: 4px 10px; border-radius: 20px; font-size: 0.8rem; }
        .vam-content { padding: 15px; flex-grow: 1; padding-top:30px;}
        .vam-title { font-size: 1.25rem; margin: 0 0 10px 0; color: var(--dark); font-weight: bold; border-bottom: 1px solid #eee; padding-bottom: 8px; }
        .pricing-section { font-size: 0.9rem; }
        .season-title { font-weight: bold; display: flex; align-items: center; margin-bottom: 5px; }
        .season-title.low { color: var(--primary); }
        .season-title.high { color: var(--accent); margin-top: 10px; }
        .price-line { display: flex; justify-content: space-between; padding: 2px 0; color: #555; }
        .price-amount { font-weight: bold; color: #222; }
        .btn-calendar { background: var(--primary); color: white; border: none; padding: 12px; width: 100%; cursor: pointer; font-weight: bold; transition: 0.3s; }
        .btn-calendar:hover { background: #2980b9; }

        /* Modale */
      
        .legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; }
        .box { width: 14px; height: 14px; border-radius: 3px; }
        .close-btn { float: right; cursor: pointer; font-size: 30px; color: #e74c3c; font-weight: bold; }
        .info-dates { background: #e8f4fd; padding: 10px; border-left: 5px solid #3498db; margin-bottom: 15px; font-size: 0.9rem; }
        .nb-jours-badge { background: #3498db; color: white; padding: 5px 10px; border-radius: 6px; display: inline-block; margin-top: 5px; font-weight: bold; }
        input[type="text"] { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; margin-top: 5px; box-sizing: border-box; }
        .btn-confirm { background: #27ae60; color: white; border: none; padding: 12px; width: 100%; border-radius: 6px; cursor: pointer; font-weight: bold; margin-top: 10px; }

        .respo_logo{
			display: block;
  float: left;
  width: 100%;
  height: 150px;
  overflow: hidden;
		}

        /* --- AJOUT RESPONSIVE --- */

        /* Tablettes (max 1024px) : 2 par ligne */
        @media (max-width: 1024px) {
            .vam-container { grid-template-columns: repeat(2, 1fr); }
            .modal-content-flex { flex-direction: column; }
            #calendar, #booking-panel { width: 100%; }
        }

        /* Mobiles (max 600px) : 1 par ligne */
        @media (max-width: 600px) {
            .vam-container { grid-template-columns: 1fr; padding: 0px; }
            body { padding: 10px; }
            .vam-title { font-size: 1.1rem; }
            #calendar-modal { padding: 10px; width: 98%; }
            .legend { flex-wrap: wrap; }
        }

.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 45px rgba(0,0,0,0.12);
}

.card-image {
    position: relative;
	border-bottom: 3px solid #079be1;
}

.card-image img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
}

.card-content1 {

}

.card-title1 {
font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #1d2b3a;

  padding: 0px;
  /* border-radius: 20px; */
  /* border-bottom: 1px solid; */
}

.info-grid1 {
    display: block;
    /* grid-template-columns: 1fr 1fr; */
    /* gap: 0px; */
	float:left;
    font-size: 14px;
    color: #5f6f81;
    margin-bottom: 20px;
	width:100%;
}

.info-item {
  padding: 3px;
  padding-left:0px;
  border-radius: 10px;
  width: 200px;
  display: block;
  float: left;
}

.price {
  display: block;
  justify-content: space-between;
  align-items: center;
  padding: 7px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  background-color: #079be1;
  width: 300px;
  margin-top: -10px;
  float: left;
  color:#fff;
}

.price strong {
    font-size: 18px;
    color: #fff;float: right;
}


   :root {
            --blue-icon: #00779b;
            --bg-input: #f1f3f4;
            --yellow-btn: #ffcc00;
        }


  

        /* Onglet au-dessus */
        .tab-header {
            display: flex;
        }

        .tab {
            background: white;
            padding: 12px 25px;
            border-radius: 10px 10px 0 0;
            font-weight: bold;
            font-size: 14px;
            color: #333;
        }

        /* La barre de formulaire blanche */
        .search-form {
            background: white;
            padding: 18px 25px;
            border-radius: 0 15px 15px 15px;
            display: flex;
            align-items: center;
            gap: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        /* Chaque groupe d'entrée gris */
        .input-group {
            background: var(--bg-input);
            border-radius: 8px;
            height: 50px;
            display: flex;
            align-items: center;
            padding: 0 15px;
            flex: 1;
        }

        /* Inputs et Selects */
        .input-group select, 
        .input-group input {
            background: transparent;
            border: none;
            outline: none;
            width: 100%;
            font-size: 15px;
            font-weight: 500;
            color: #333;
            cursor: pointer;
        }

        /* Bloc Date (Départ + Retour) */
        .date-container {
            flex: 2; /* Plus large */
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .date-part {
            display: flex;
            align-items: center;
            gap: 10px;
            flex: 1;
        }

        .divider {
            width: 1px;
            height: 25px;
            background: #ccc;
            margin: 0 15px;
        }

        /* Icônes */
        .icon {
            color: var(--blue-icon);
            font-size: 18px;
        }

        /* Bouton Rechercher Jaune */
        .btn-submit {
            background: var(--yellow-btn);
            border: none;
            padding: 0 40px;
            height: 55px;
            border-radius: 30px;
            font-weight: bold;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.2s ease;
            white-space: nowrap;
        }

        .btn-submit:hover {
            background: #f0c000;
            transform: scale(1.02);
        }



.flatpickr-day.inRange {
    box-shadow: -5px 0 0 #e6f2f5, 5px 0 0 #e6f2f5 !important;
    background: #e6f2f5 !important;
}

@media only screen and (min-width: 320px) and (max-width: 479px) {
	.h1{
		font-size:17px;
	}
        .respo_logo{
	display: block;
  float: left;
  width: 100%;
  height: 80px;
  overflow: hidden;
  margin-top: 10px;
		}
	.loca_page{
	display:block;margin-left:auto;margin-right:auto;width:95%;font-family: 'Segoe UI', sans-serif; padding: 0px; margin: 0;
}	
	 .search-form {
            background: white;
            padding: 18px 25px;
            border-radius: 0 15px 15px 15px;
            display: block;
            align-items: center;
            gap: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }
	.card-image1 {
  width: 100%;
  display: block;
  float: left;
  margin-right: 0px;
}
			.card1 {
 width: 100%;
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,0.08);
  transition: 0.4s ease;
  margin-bottom: 20px;
}
.pave_cen{
	display:block;
	float:left;
	width:93%;
	margin-left:10px;
}
.pave_right_loc{
	display:block;
	float:left;
	width:250px;
	height:auto;
	padding-right:10px;
	margin-left:30px;
	/* border:1px solid red; */
}
}