﻿/* ===================================
   FICHES VOYAGES
=================================== */

/* ===================================
   POINTS FORTS
=================================== */
.section-points-forts { padding: 80px 0; }
.avantages-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.avantage-card { background: #fff; border-radius: 18px; padding: 30px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.avantage-icon { font-size: 42px; margin-bottom: 20px; }
.avantage-card h3 { margin-bottom: 15px; }

/* ===================================
   PROGRAMME
=================================== */
.section-programme { padding: 80px 0; }
.programme-liste { max-width: 900px; margin: 0 auto; }
.programme-item { display: flex; gap: 30px; margin-bottom: 30px; }
.programme-jour { min-width: 100px; font-weight: 700; }
.programme-contenu { flex: 1; }
.programme-contenu h3 { margin-bottom: 10px; }

/* ===================================
   HEBERGEMENT
=================================== */
.hebergement-section { padding: 70px 0; }
.hebergement-section .types-header { margin-bottom: 35px; }
.hebergement-liste { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 40px; max-width: 1100px; margin: 0 auto; padding: 0; list-style: none; }
.hebergement-liste li { display: flex; align-items: flex-start; gap: 12px; font-size: 18px; line-height: 1.5; }
.hebergement-icon { flex: 0 0 auto; font-size: 20px; font-weight: 700; line-height: 1.4; }
@media(max-width:992px) {
    .hebergement-liste { gap: 16px 30px; }
}
@media(max-width:767px) {
    .hebergement-section { padding: 50px 0; }
    .hebergement-liste { grid-template-columns: 1fr; gap: 14px; }
    .hebergement-liste li { font-size: 16px; }
}

/* ===================================
   INFORMATIONS PRATIQUES
=================================== */
.informations-section { padding: 60px 0; }

.informations-liste { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; margin-top: 35px; }

.information-item { text-align: center; }

.information-item h3 { margin: 0 0 15px; font-size: 18px; }

.information-item p { margin: 0; font-size: 17px; line-height: 1.5; font-weight: 500; }

/* TABLETTE */
@media(max-width:992px){
    .informations-liste { grid-template-columns: repeat(3,1fr); }
}

/* MOBILE */
@media(max-width:767px){
    .informations-liste { grid-template-columns: 1fr; gap: 25px; }
}


/* ==================================================
   TARIFS VOYAGE
================================================== */
.tarifs-section { padding: 70px 0; }

/* ==================================================
   CARTES TARIFS CHAMBRES
================================================== */
.tarifs-chambres { display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; margin-top: 40px; }

.tarif-card { background: #ffffff; border-radius: 18px; padding: 32px 30px; text-align: center; border: 1px solid rgba(0,0,0,.08); box-shadow: 0 10px 30px rgba(0,0,0,.08); transition: transform .25s ease, box-shadow .25s ease; }

.tarif-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,.12); }

/* Chambre double */
.tarif-card:first-child { border: 2px solid #8b1e2d; }

/* Chambre individuelle */
.tarif-card:nth-child(2) { border: 2px solid #c79b3b; }

/* Chambre triple */
.tarif-card:nth-child(3) { background: #fffaf0; border: 2px solid #c79b3b; }

.tarif-card h3 { margin: 0 0 25px; font-size: 22px; color: #1d1d1d; }

.tarif-card strong { display: block; font-size: 44px; line-height: 1.1; color: #8b1e2d; margin-bottom: 10px; }

.tarif-card span { display: block; font-size: 16px; }

.tarif-card p { margin: 22px 0 0; font-weight: 600; color: #8b1e2d; }

/* ==================================================
   LE PRIX COMPREND
================================================== */
.tarif-inclus { margin-top: 45px; }

.tarif-inclus h3 { margin: 0 0 25px; font-size: 24px; }

.tarif-inclus ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,1fr); column-gap: 70px; row-gap: 20px; }

.tarif-inclus li { display: flex; align-items: center; font-size: 17px; }

.tarif-inclus li span { color: #8b1e2d; font-size: 22px; font-weight: bold; margin-right: 12px; }

/* ==================================================
   BOUTON RESERVATION
================================================== */
.tarif-action { text-align: center; margin-top: 40px; }

.tarif-action .btn { min-width: 320px; padding: 16px 35px; font-size: 18px; font-weight: 700; }

/* Couleurs identité Évadons-nous */
.tarif-action .btn.primary { background: #8b1e2d; border: 2px solid #c79b3b; color: #ffffff; }

.tarif-action .btn.primary:hover { background: #c79b3b; border-color: #8b1e2d; color: #ffffff; }

/* ==================================================
   TABLETTE
================================================== */
@media(max-width:992px){
    .tarifs-chambres { grid-template-columns: repeat(3,1fr); gap: 20px; }
    .tarif-card { padding: 28px 18px; }
    .tarif-card h3 { font-size: 20px; }
    .tarif-card strong { font-size: 36px; }
    .tarif-inclus ul { grid-template-columns: repeat(2,1fr); column-gap: 40px; }
}

/* ==================================================
   MOBILE
================================================== */
@media(max-width:767px){
    .tarifs-section { padding: 50px 0; }
    .tarifs-chambres { grid-template-columns: 1fr; }
    .tarif-card strong { font-size: 42px; }
    .tarif-inclus ul { grid-template-columns: 1fr; row-gap: 15px; }
    .tarif-action .btn { width: 100%; min-width: 0; }
}
