/* =====================================================================
   VOYAGES PLUGIN - FRONTEND CSS (Revoluweb)
   Plugin Revoluweb. Les valeurs des variables ci-dessous sont
   modifiables depuis Voyages > Réglages et peuvent aussi être
   remplacées par le CSS personnalisé.
   ===================================================================== */
:root {
	--couleur-primaire: #d9652b;
	--couleur-primaire-hover: #b74f20;
	--couleur-accent: #d6aa3a;
	--couleur-vedette: #f59e0b;
	--couleur-top-promo: #ef4444;
	--couleur-exclusif: #8b5cf6;
	--couleur-succes: #16a34a;

	--couleur-texte: #183247;
	--couleur-texte-secondaire: #64748b;
	--couleur-fond: #f5f7fb;
	--couleur-fond-carte: #ffffff;
	--couleur-bordure: #e5e7eb;

	--rayon-carte: 22px;
	--rayon-bouton: 12px;
	--ombre-carte: 0 18px 45px rgba(15, 23, 42, .10);
	--ombre-carte-hover: 0 24px 65px rgba(15, 23, 42, .16);
	--police: 'Inter', Arial, sans-serif;
}

.voyages-conteneur, .voyages-conteneur * { box-sizing: border-box; }
.conteneur.voyages-conteneur { max-width: 1280px; margin: 0 auto; padding: 40px 5%; font-family: var(--police); color: var(--couleur-texte); }

.hero { text-align: center; padding: 60px 20px 30px; font-family: var(--police); }
.hero .eyebrow { color: var(--couleur-primaire); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.hero h1 { font-size: 40px; margin: 10px 0; }
.hero p { color: var(--couleur-texte-secondaire); max-width: 600px; margin: 0 auto; }

/* Filtres */
.filtres-wrapper {
	background: var(--couleur-fond-carte);
	border-radius: 20px;
	box-shadow: var(--ombre-carte);
	padding: 22px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	align-items: end;
	margin-bottom: 34px;
}
.filtre-champ { display: flex; flex-direction: column; gap: 6px; }
.filtre-champ label { font-size: 12px; font-weight: 700; color: var(--couleur-texte-secondaire); text-transform: uppercase; letter-spacing: .04em; }
.filtre-champ input, .filtre-champ select {
	border: 1px solid var(--couleur-bordure);
	border-radius: 10px;
	padding: 11px 12px;
	font: inherit;
	font-size: 14px;
	width: 100%;
	background: #fff;
}
.btn-reinitialiser {
	background: none;
	border: 1px solid var(--couleur-bordure);
	border-radius: 10px;
	padding: 11px 16px;
	font-weight: 700;
	color: var(--couleur-texte-secondaire);
	white-space: nowrap;
	text-decoration: none;
	display: inline-block;
}
.btn-reinitialiser:hover { background: #f1f5f9; }

.compteur-resultats { color: var(--couleur-texte-secondaire); font-size: 14px; margin-bottom: 18px; }
.compteur-resultats strong { color: var(--couleur-texte); }

/* Grille de cartes */
.grille-voyages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }

.carte-voyage {
	background: var(--couleur-fond-carte);
	border-radius: var(--rayon-carte);
	overflow: hidden;
	box-shadow: var(--ombre-carte);
	border: 1px solid #eef2f7;
	transition: .25s;
	display: flex;
	flex-direction: column;
	position: relative;
}
.carte-voyage:hover { transform: translateY(-6px); box-shadow: var(--ombre-carte-hover); }

.carte-photo { height: 240px; position: relative; overflow: hidden; }
.carte-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: .35s; }
.carte-voyage:hover .carte-photo img { transform: scale(1.05); }
.carte-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.5)); pointer-events: none; }

.badge-vedette { position: absolute; z-index: 3; top: 16px; left: 16px; background: var(--couleur-vedette); color: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 800; }

.badge-prix {
	position: absolute; z-index: 3; top: 16px; right: 16px;
	background: var(--couleur-primaire-hover); color: #fff; border-radius: 12px;
	padding: 10px 14px; text-align: center; box-shadow: 0 8px 18px rgba(0,0,0,.22);
}
.badge-prix small { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; opacity: .85; }
.badge-prix strong { display: block; font-size: 19px; color: var(--couleur-accent); line-height: 1.15; }
.badge-prix span { display: block; font-size: 9px; opacity: .85; }

.badge-type {
	position: absolute; z-index: 3; bottom: -12px; left: 16px;
	border-radius: 999px; padding: 7px 14px; font-size: 12px; font-weight: 800; color: #fff;
	box-shadow: 0 6px 14px rgba(0,0,0,.2);
}
.badge-type[data-type="top_promo"] { background: var(--couleur-top-promo); }
.badge-type[data-type="exclusif"] { background: var(--couleur-exclusif); }

.carte-destination-ligne { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--couleur-texte-secondaire); margin-top: 6px; }

.badge-ristourne {
	position: absolute; z-index: 3; top: 16px; right: 16px;
	background: var(--couleur-accent); color: var(--couleur-texte);
	border-radius: 14px; padding: 8px 12px; font-weight: 900;
	box-shadow: 0 8px 18px rgba(0,0,0,.18); cursor: pointer; text-decoration: none;
	text-align: center; line-height: 1.1;
}
.badge-ristourne small { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.badge-ristourne span { font-size: 18px; }

.carte-dest { position: absolute; z-index: 3; left: 16px; bottom: 14px; color: #fff; }
.carte-dest strong { display: block; font-size: 19px; line-height: 1.2; }
.carte-dest small { opacity: .9; font-size: 12px; }

.carte-contenu { padding: 26px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.carte-titre { font-size: 18px; font-weight: 800; margin-bottom: 4px; line-height: 1.3; }
.carte-hotel { font-size: 13px; color: var(--couleur-texte-secondaire); margin-bottom: 12px; }
.carte-hotel .etoiles { color: var(--couleur-vedette); }

.case-ristourne {
	display: flex; align-items: center; justify-content: space-between; gap: 6px;
	background: #fff8e6; border: 1px solid var(--couleur-accent); border-radius: 10px;
	padding: 10px 12px; font-size: 13px; color: var(--couleur-texte); cursor: pointer;
	width: 100%; margin-bottom: 10px; text-align: left;
}
.case-ristourne strong { color: var(--couleur-primaire-hover); }
.case-ristourne span { color: var(--couleur-texte-secondaire); }
.case-ristourne:hover { background: #fef0c7; }

.carte-compte-rebours {
	background: #fff8e6; border: 1px solid var(--couleur-accent); border-radius: 10px;
	padding: 8px 12px; font-size: 12px; font-weight: 700; color: #92620a; margin-bottom: 10px;
}

.carte-actions-3 { grid-template-columns: 1fr 1fr 1fr; }
.carte-actions-3 .btn-pdf { background: #fff; border: 1px solid var(--couleur-bordure); color: var(--couleur-texte-secondaire); font-size: 12px; padding: 12px 6px; }

.carte-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; font-size: 13px; }
.carte-meta div { background: #f8fafc; border-radius: 10px; padding: 9px 10px; color: #475569; }
.carte-meta b { display: block; color: var(--couleur-texte); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 2px; }

.carte-info-ligne { font-size: 13px; color: #475569; margin-bottom: 6px; display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
.carte-duree { color: var(--couleur-texte-secondaire); font-size: 12px; }

.carte-disponibilite { font-size: 12px; color: var(--couleur-succes); font-weight: 700; margin-bottom: 10px; }

.carte-prix-ligne { display: flex; align-items: end; justify-content: space-between; border-top: 1px solid var(--couleur-bordure); padding-top: 14px; margin-top: auto; }
.prix-label { font-size: 12px; color: var(--couleur-texte-secondaire); }
.prix-actuel { font-size: 28px; font-weight: 900; color: var(--couleur-primaire); line-height: 1; }
.prix-ancien { text-decoration: line-through; color: #94a3b8; font-size: 13px; }
.prix-unite { font-size: 11px; color: var(--couleur-texte-secondaire); }

.carte-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.carte-actions-pdf { margin-top: 8px; }
.btn { border: 0; border-radius: var(--rayon-bouton); padding: 12px 14px; font-weight: 800; font-size: 14px; width: 100%; text-align: center; text-decoration: none; display: block; }
.btn-details { background: #eefdfa; color: var(--couleur-primaire-hover); }
.btn-details:hover { background: #d7fbf5; }
.btn-reserver { background: var(--couleur-primaire); color: #fff; }
.btn-reserver:hover { background: var(--couleur-primaire-hover); }
.btn-pdf { background: none; color: var(--couleur-texte-secondaire); font-size: 12px; font-weight: 600; padding: 6px; }
.btn-pdf:hover { color: var(--couleur-texte); }

.aucun-resultat { grid-column: 1/-1; text-align: center; padding: 60px 20px; color: var(--couleur-texte-secondaire); }

/* Popups */
.modal-overlay {
	position: fixed; inset: 0; background: rgba(15,23,42,.62);
	display: none; align-items: center; justify-content: center;
	padding: 20px; z-index: 999; overflow-y: auto;
	font-family: var(--police);
}
.modal-overlay.actif { display: flex; }
.modal-box {
	background: #fff; border-radius: 24px; width: min(560px, 100%);
	max-height: 88vh; overflow-y: auto; padding: 30px;
	box-shadow: 0 30px 80px rgba(0,0,0,.3); position: relative;
	color: var(--couleur-texte);
}
.modal-fermer { position: absolute; right: 18px; top: 14px; background: none; border: none; font-size: 26px; color: var(--couleur-texte-secondaire); }
.modal-box h2 { font-size: 24px; margin-bottom: 6px; }
.modal-box > p.modal-sous-titre { color: var(--couleur-texte-secondaire); margin-bottom: 18px; }

.ligne-ristourne { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--couleur-bordure); }
.ligne-ristourne strong { font-size: 18px; white-space: nowrap; }
.ligne-ristourne .desc { font-size: 13px; color: var(--couleur-texte-secondaire); }
.ligne-ristourne.total strong { color: var(--couleur-primaire); font-size: 22px; }
.ristourne-intro { color: var(--couleur-texte-secondaire); font-size: 14px; margin-bottom: 4px; }
.ristourne-notes { margin-top: 16px; font-size: 11px; color: var(--couleur-texte-secondaire); }
.ristourne-notes p { margin: 2px 0; }

.liste-options-chambre { display: flex; flex-direction: column; gap: 8px; margin-bottom: 6px; }
.option-chambre {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	border: 1px solid var(--couleur-bordure); border-radius: 12px; padding: 12px 14px; cursor: pointer; font-size: 13px;
}
.option-chambre:has(input:checked) { border-color: var(--couleur-primaire); background: #eefdfa; }
.option-chambre input { margin-right: 6px; }
.option-chambre-nom small { color: var(--couleur-texte-secondaire); }
.option-chambre-prix { text-align: right; font-weight: 800; color: var(--couleur-primaire-hover); }
.option-chambre-prix small { font-weight: 400; color: var(--couleur-texte-secondaire); }

.reservation-aucun-voyageur { font-size: 13px; color: var(--couleur-texte-secondaire); margin: 0 0 10px; }

.detail-galerie { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 16px; }
.detail-galerie img { width: 120px; height: 90px; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.detail-section { margin-bottom: 16px; }
.detail-section h4 { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--couleur-texte-secondaire); margin-bottom: 8px; }
.detail-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 14px; }
.detail-liste li::before { content: "✓ "; color: var(--couleur-succes); font-weight: 800; }

/* Fiche détail : grille 2 colonnes (résumé/description + panneau de prix) */
.detail-grille { display: grid; grid-template-columns: 1.5fr 1fr; gap: 22px; align-items: start; }
@media (max-width: 720px) { .detail-grille { grid-template-columns: 1fr; } }

.carte-resume { background: #f8fafc; border: 1px solid var(--couleur-bordure); border-radius: 16px; padding: 16px 18px; margin-bottom: 16px; }
.carte-resume-titre { font-size: 14px; font-weight: 800; margin: 0 0 10px; color: var(--couleur-texte); }
.carte-resume-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.carte-resume-grille div { display: flex; flex-direction: column; gap: 2px; }
.carte-resume-grille span { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: var(--couleur-texte-secondaire); }
.carte-resume-grille strong { font-size: 14px; }

.panneau-prix { background: var(--couleur-primaire-hover); color: #fff; border-radius: 18px; padding: 22px; position: sticky; top: 0; }
.panneau-prix-label { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; opacity: .8; }
.panneau-prix-montant { font-size: 34px; font-weight: 900; color: var(--couleur-accent); line-height: 1.1; }
.panneau-prix-sous { font-size: 12px; opacity: .85; margin-bottom: 14px; }

.btn-chambre-toggle {
	width: 100%; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
	color: #fff; border-radius: 10px; padding: 11px 14px; font-weight: 700; font-size: 13px;
	display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; cursor: pointer;
}
.liste-chambres { display: none; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.liste-chambres.ouvert { display: flex; }
.ligne-chambre { background: #fff; color: var(--couleur-texte); border-radius: 10px; padding: 10px 12px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.ligne-chambre strong { display: block; font-size: 13px; }
.ligne-chambre span { color: var(--couleur-texte-secondaire); font-size: 11px; }
.ligne-chambre-prix { text-align: right; }
.ligne-chambre-prix strong { color: var(--couleur-primaire-hover); font-size: 15px; }

.panneau-prix-ligne { display: flex; justify-content: space-between; font-size: 13px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.18); }
.panneau-compte-rebours { background: rgba(255,200,61,.16); border: 1px solid rgba(255,200,61,.4); color: var(--couleur-accent); border-radius: 10px; padding: 9px 12px; font-size: 13px; font-weight: 700; margin: 12px 0; }
.panneau-prix-dispo { font-size: 13px; opacity: .9; background: rgba(255,255,255,.1); border-radius: 10px; padding: 9px 12px; margin-bottom: 14px; }

.btn-reserver-maintenant { width: 100%; background: var(--couleur-accent); color: #1f2937; border: none; border-radius: 12px; padding: 14px; font-weight: 850; font-size: 15px; margin-bottom: 8px; cursor: pointer; }
.btn-reserver-maintenant:hover { filter: brightness(0.95); }
.btn-telecharger-pdf { display: block; text-align: center; background: rgba(255,255,255,.1); color: #fff; border-radius: 12px; padding: 12px; font-size: 13px; font-weight: 700; text-decoration: none; }
.btn-telecharger-pdf:hover { background: rgba(255,255,255,.18); }

.form-reservation { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; }
.form-section-titre { font-weight: 800; font-size: 15px; margin-top: 6px; padding-bottom: 8px; border-bottom: 2px solid var(--couleur-bordure); }
.form-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-ligne-3 { grid-template-columns: 1fr 1fr 1fr; }
.form-ligne-voyageur-supp { grid-template-columns: 1fr 1fr auto; align-items: center; margin-bottom: 8px; }
.form-section-avec-bouton { display: flex; justify-content: space-between; align-items: center; }
.btn-ajouter-voyageur { background: var(--couleur-exclusif); color: #fff; border: none; border-radius: 8px; padding: 7px 14px; font-size: 12px; font-weight: 700; cursor: pointer; }
.btn-retirer-voyageur { background: #fee2e2; color: #ef4444; border: none; border-radius: 8px; width: 34px; height: 34px; font-size: 16px; cursor: pointer; }
.form-champ { display: flex; flex-direction: column; gap: 5px; }
.form-champ label { font-size: 12px; font-weight: 700; color: var(--couleur-texte-secondaire); }
.form-champ label .req { color: var(--couleur-top-promo); }
.form-champ input, .form-champ select, .form-champ textarea {
	border: 1px solid var(--couleur-bordure); border-radius: 12px; padding: 12px; font: inherit; width: 100%;
}
.form-checkbox { display: flex; align-items: start; gap: 8px; font-size: 13px; color: var(--couleur-texte-secondaire); }
.form-checkbox input { margin-top: 3px; }
.btn-submit { background: var(--couleur-primaire); color: #fff; border: none; border-radius: 14px; padding: 15px; font-weight: 850; font-size: 16px; margin-top: 6px; width: 100%; }
.btn-submit:hover { background: var(--couleur-primaire-hover); }

.confirmation-envoi { text-align: center; padding: 24px 20px; background: var(--couleur-fond-carte); border-radius: 20px; box-shadow: var(--ombre-carte); margin-bottom: 30px; }
.confirmation-envoi .icone { font-size: 52px; margin-bottom: 10px; }
.confirmation-envoi p { color: var(--couleur-texte-secondaire); }
.confirmation-envoi.erreur .icone { color: var(--couleur-top-promo); }

/* Responsive */
@media (max-width: 1100px) {
	.filtres-wrapper { grid-template-columns: 1fr 1fr 1fr; }
	.grille-voyages { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
	.conteneur.voyages-conteneur { padding: 24px 16px; }
	.filtres-wrapper { grid-template-columns: 1fr; }
	.grille-voyages { grid-template-columns: 1fr; }
	.form-ligne { grid-template-columns: 1fr; }
	.hero h1 { font-size: 30px; }
}


/* =====================================================================
   Ajustements v1.2.0 - cartes plus compactes, propres et responsive
   ===================================================================== */
.conteneur.voyages-conteneur { max-width: 1180px; padding: 28px 4%; }
.grille-voyages { gap: 22px; align-items: stretch; }
.carte-voyage { border-radius: 24px; overflow: hidden; min-height: 0; }
.carte-photo { height: 205px; background: #e5e7eb; }
.carte-photo::after { background: linear-gradient(to bottom, rgba(0,0,0,.04), rgba(0,0,0,.28)); }
.badge-type { top: 16px; bottom: auto; left: 16px; padding: 8px 15px; font-size: 13px; }
.badge-vedette + .badge-type { top: 54px; }
.badge-prix { display: none; }
.carte-contenu { padding: 20px 22px 20px; gap: 0; }
.carte-destination-ligne { margin-top: 0; margin-bottom: 8px; color: var(--couleur-primaire-hover); font-size: 11px; letter-spacing: .08em; }
.carte-titre { font-size: 20px; line-height: 1.22; margin: 0 0 10px; color: var(--couleur-texte); }
.carte-info-ligne { font-size: 14px; margin-bottom: 7px; color: #475569; }
.carte-depart { margin-bottom: 10px; }
.carte-prix-ligne { padding-top: 14px; margin-top: 6px; }
.prix-actuel { font-size: 34px; letter-spacing: -.03em; }
.prix-ancien { font-size: 15px; }
.case-ristourne { background: #f6f7f9; border: 0; border-radius: 0; padding: 9px 12px; justify-content: center; font-size: 15px; margin: 10px 0 0; }
.case-ristourne strong { color: var(--couleur-texte); }
.carte-actions { margin-top: 18px; }
.carte-actions-3 { grid-template-columns: 1fr 1fr; }
.carte-actions-3 .btn-pdf { grid-column: 1 / -1; }
.btn { min-height: 48px; display: flex; align-items: center; justify-content: center; }
.btn-details { background: #eefdfa; color: var(--couleur-primaire-hover); }
.btn-reserver { background: var(--couleur-primaire); color: #fff; }
.modal-overlay { z-index: 99999; }
.modal-fermer { cursor: pointer; line-height: 1; width: 36px; height: 36px; border-radius: 999px; display:flex; align-items:center; justify-content:center; }
.modal-fermer:hover { background: #f1f5f9; color: var(--couleur-texte); }

@media (min-width: 701px) and (max-width: 1100px) {
	.grille-voyages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.carte-photo { height: 215px; }
}
@media (min-width: 1101px) {
	.grille-voyages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.conteneur.voyages-conteneur { padding: 18px 10px; }
	.carte-voyage { border-radius: 22px; }
	.carte-photo { height: 175px; }
	.carte-contenu { padding: 18px 18px 18px; }
	.carte-titre { font-size: 19px; }
	.carte-info-ligne { font-size: 13px; }
	.prix-actuel { font-size: 32px; }
	.carte-actions, .carte-actions-3 { grid-template-columns: 1fr 1fr; gap: 10px; }
	.btn { min-height: 46px; padding: 11px 10px; font-size: 13px; }
	.modal-box { max-height: 92vh; border-radius: 20px; padding: 24px 18px; }
}


/* =====================================================================
   Ajustements v1.3.0 - style premium compact inspiré référence fournie
   ===================================================================== */
:root{
  --couleur-filtre-bg:#1f5b93;
  --couleur-filtre-bordure:rgba(255,255,255,.32);
  --couleur-filtre-texte:#ffffff;
}
.filtres-wrapper{
  background:var(--couleur-filtre-bg);
  border:1px solid var(--couleur-filtre-bordure);
  border-radius:0;
  box-shadow:0 16px 40px rgba(24,50,71,.14);
  padding:16px 18px;
  grid-template-columns:minmax(220px,1.35fr) repeat(auto-fit,minmax(155px,1fr));
}
.filtre-champ label{display:none;}
.filtre-champ input,.filtre-champ select{
  background:rgba(255,255,255,.08);
  color:var(--couleur-filtre-texte);
  border:1px solid var(--couleur-filtre-bordure);
  border-radius:8px;
  min-height:44px;
}
.filtre-champ input::placeholder{color:rgba(255,255,255,.78);}
.filtre-champ select option{color:#183247;background:#fff;}
.btn-reinitialiser{color:var(--couleur-filtre-texte);border-color:var(--couleur-filtre-bordure);background:rgba(255,255,255,.04);min-height:44px;}
.btn-reinitialiser:hover{background:rgba(255,255,255,.14);}

.grille-voyages{grid-template-columns:1fr;gap:18px;}
.carte-voyage{
  display:grid;
  grid-template-columns:32% 1fr;
  border-radius:0 0 20px 20px;
  border:0;
  box-shadow:0 14px 35px rgba(24,50,71,.10);
  background:#fff;
  min-height:255px;
}
.carte-voyage:hover{transform:translateY(-3px);}
.carte-photo{height:100%;min-height:255px;}
.carte-photo img{height:100%;}
.carte-contenu{padding:22px 28px 18px;display:grid;grid-template-columns:1fr auto;column-gap:26px;align-content:center;}
.carte-destination-ligne{grid-column:1 / -1;color:#d9652b;font-weight:900;font-size:12px;letter-spacing:.11em;margin-bottom:6px;}
.carte-titre{grid-column:1 / -1;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.08;color:#183247;margin:0 0 8px;}
.carte-trajet-ligne{grid-column:1 / -1;color:#48596a;font-size:15px;margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.carte-info-ligne.carte-dates,.carte-depart{display:none;}
.carte-places-small{grid-column:1 / -1;color:#2f805d;font-size:13px;font-weight:800;margin:2px 0 14px;}
.carte-prix-ligne{grid-column:1 / 2;margin-top:0;padding-top:14px;border-top:1px dashed #eadfd2;align-self:end;}
.prix-label{font-size:13px;color:#6b7280;}
.prix-actuel{font-size:36px;color:#d9652b;font-family:Georgia,'Times New Roman',serif;font-weight:500;}
.prix-ancien{font-size:16px;color:#9ca3af;}
.case-ristourne{grid-column:1 / 2;max-width:300px;background:#f5ead6;border:1px dashed #d6aa3a;border-radius:999px;color:#183247;margin:8px 0 0;padding:8px 14px;font-size:14px;justify-content:center;}
.case-ristourne strong{color:#d9652b;font-size:18px;}
.carte-actions,.carte-actions-3{grid-column:2 / 3;grid-row:5 / span 2;align-self:end;display:flex;gap:14px;margin-top:0;min-width:260px;}
.btn{border-radius:999px;min-height:54px;padding:13px 25px;font-size:15px;}
.btn-details{background:#fbf7f1;color:#183247;border:1px solid #eadfd2;}
.btn-details:hover{background:#f1e8dc;}
.btn-reserver{background:#d9652b;color:#fff;}
.btn-reserver:hover{background:#b74f20;}
.carte-actions-3 .btn-pdf{display:none;}
.badge-type{top:18px;left:18px;background:#d9652b!important;border-radius:999px;padding:9px 17px;font-size:14px;}
.badge-vedette{display:none;}
.badge-prix{display:none!important;}

@media (max-width: 900px){
  .filtres-wrapper{grid-template-columns:1fr 1fr;border-radius:16px;}
  .carte-voyage{grid-template-columns:1fr;min-height:0;border-radius:22px;}
  .carte-photo{height:210px;min-height:210px;}
  .carte-contenu{display:flex;padding:18px 20px 20px;}
  .carte-titre{font-size:23px;}
  .carte-actions,.carte-actions-3{display:grid;grid-template-columns:1fr 1fr;min-width:0;margin-top:14px;width:100%;}
  .case-ristourne{max-width:none;width:100%;}
}
@media (max-width: 560px){
  .filtres-wrapper{grid-template-columns:1fr;padding:14px;}
  .carte-photo{height:180px;min-height:180px;}
  .carte-contenu{padding:16px 18px 18px;}
  .carte-destination-ligne{font-size:11px;}
  .carte-titre{font-size:21px;}
  .carte-trajet-ligne{font-size:14px;}
  .prix-actuel{font-size:34px;}
  .btn{min-height:48px;padding:11px 14px;}
}


/* =====================================================================
   V1.4 - Affichage carte style référence horizontale + popup harmonisé
   ===================================================================== */
.voyages-conteneur .grille-voyages{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
}
.voyages-conteneur .carte-voyage{
  display:grid !important;
  grid-template-columns:minmax(260px,32%) 1fr !important;
  min-height:248px !important;
  border-radius:0 0 20px 20px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:0 14px 35px rgba(24,50,71,.10) !important;
}
.voyages-conteneur .carte-photo{
  height:100% !important;
  min-height:248px !important;
}
.voyages-conteneur .carte-photo img{height:100% !important;object-fit:cover !important;}
.voyages-conteneur .carte-photo::after{background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.14)) !important;}
.voyages-conteneur .carte-contenu{
  padding:20px 28px 18px !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  column-gap:28px !important;
  row-gap:0 !important;
  align-content:center !important;
}
.voyages-conteneur .carte-destination-ligne{
  grid-column:1 / -1 !important;
  color:var(--couleur-primaire) !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.11em !important;
  margin:0 0 6px !important;
}
.voyages-conteneur .carte-titre{
  grid-column:1 / -1 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:28px !important;
  line-height:1.08 !important;
  color:var(--couleur-texte) !important;
  margin:0 0 7px !important;
}
.voyages-conteneur .carte-trajet-ligne{
  grid-column:1 / -1 !important;
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  color:#48596a !important;
  font-size:14px !important;
  margin:0 0 8px !important;
}
.voyages-conteneur .carte-places-small{
  grid-column:1 / -1 !important;
  color:#2f805d !important;
  font-size:12px !important;
  font-weight:800 !important;
  margin:1px 0 11px !important;
}
.voyages-conteneur .carte-prix-ligne{
  grid-column:1 / 2 !important;
  border-top:1px dashed #eadfd2 !important;
  padding-top:13px !important;
  margin-top:0 !important;
  align-self:end !important;
  display:block !important;
}
.voyages-conteneur .prix-label{font-size:12px !important;color:#6b7280 !important;}
.voyages-conteneur .prix-actuel{
  font-size:40px !important;
  color:var(--couleur-primaire) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-weight:500 !important;
  line-height:.96 !important;
}
.voyages-conteneur .prix-ancien{font-size:16px !important;color:#9ca3af !important;text-decoration:line-through !important;}
.voyages-conteneur .prix-unite{font-size:12px !important;color:#64748b !important;}
.voyages-conteneur .case-ristourne{
  grid-column:1 / 2 !important;
  width:fit-content !important;
  max-width:360px !important;
  min-width:250px !important;
  background:#f5ead6 !important;
  border:1px dashed var(--couleur-accent) !important;
  border-radius:999px !important;
  color:var(--couleur-texte) !important;
  margin:9px 0 0 !important;
  padding:9px 14px !important;
  font-size:14px !important;
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:7px !important;
  box-shadow:none !important;
}
.voyages-conteneur .case-ristourne strong{color:var(--couleur-primaire) !important;font-size:18px !important;}
.voyages-conteneur .case-ristourne .ristourne-fleche{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  background:var(--couleur-primaire) !important;
  color:#fff !important;
  font-size:13px !important;
  margin-left:3px !important;
}
.voyages-conteneur .case-ristourne:hover{background:#f1dfbd !important;transform:translateY(-1px);}
.voyages-conteneur .carte-actions,
.voyages-conteneur .carte-actions-3{
  grid-column:2 / 3 !important;
  grid-row:5 / span 3 !important;
  align-self:end !important;
  display:flex !important;
  gap:14px !important;
  margin-top:0 !important;
  min-width:260px !important;
}
.voyages-conteneur .btn{
  border-radius:999px !important;
  min-height:54px !important;
  padding:13px 25px !important;
  font-size:15px !important;
  line-height:1 !important;
}
.voyages-conteneur .btn-details{background:#fbf7f1 !important;color:var(--couleur-texte) !important;border:1px solid #eadfd2 !important;}
.voyages-conteneur .btn-reserver{background:var(--couleur-primaire) !important;color:#fff !important;}
.voyages-conteneur .btn-reserver:hover{background:var(--couleur-primaire-hover) !important;}
.voyages-conteneur .carte-actions-3 .btn-pdf{display:none !important;}
.voyages-conteneur .badge-prix{display:none !important;}
.voyages-conteneur .badge-vedette{display:none !important;}
.voyages-conteneur .badge-type{
  top:18px !important;
  left:18px !important;
  bottom:auto !important;
  background:var(--couleur-primaire) !important;
  border-radius:999px !important;
  padding:9px 17px !important;
  font-size:14px !important;
}

/* Popup détails/réservation/ristourne : mêmes couleurs que les boutons */
.modal-overlay{z-index:99999 !important;}
.modal-box{
  border-radius:22px !important;
  border-top:6px solid var(--couleur-primaire) !important;
  box-shadow:0 30px 80px rgba(24,50,71,.30) !important;
}
.modal-box h2{color:var(--couleur-texte) !important;font-family:Georgia,'Times New Roman',serif !important;}
.modal-fermer{
  background:var(--couleur-primaire) !important;
  color:#fff !important;
  border:0 !important;
  font-weight:900 !important;
}
.modal-fermer:hover{background:var(--couleur-primaire-hover) !important;color:#fff !important;}
.ligne-ristourne strong{color:var(--couleur-primaire) !important;}
.option-chambre:has(input:checked){border-color:var(--couleur-primaire) !important;background:#fbf7f1 !important;}
.option-chambre-prix{color:var(--couleur-primaire) !important;}
.form-reservation button[type="submit"]{background:var(--couleur-primaire) !important;color:#fff !important;border-radius:999px !important;}
.form-reservation button[type="submit"]:hover{background:var(--couleur-primaire-hover) !important;}

@media (max-width: 980px){
  .voyages-conteneur .carte-voyage{grid-template-columns:1fr !important;border-radius:22px !important;}
  .voyages-conteneur .carte-photo{height:220px !important;min-height:220px !important;}
  .voyages-conteneur .carte-contenu{display:flex !important;flex-direction:column !important;padding:18px 20px 20px !important;}
  .voyages-conteneur .carte-titre{font-size:24px !important;}
  .voyages-conteneur .carte-actions,.voyages-conteneur .carte-actions-3{display:grid !important;grid-template-columns:1fr 1fr !important;min-width:0 !important;width:100% !important;margin-top:14px !important;}
  .voyages-conteneur .case-ristourne{width:100% !important;max-width:none !important;min-width:0 !important;}
}
@media (max-width: 560px){
  .voyages-conteneur .carte-photo{height:185px !important;min-height:185px !important;}
  .voyages-conteneur .carte-contenu{padding:15px 17px 17px !important;}
  .voyages-conteneur .carte-destination-ligne{font-size:10.5px !important;}
  .voyages-conteneur .carte-titre{font-size:21px !important;}
  .voyages-conteneur .prix-actuel{font-size:36px !important;}
  .voyages-conteneur .btn{min-height:50px !important;padding:12px 16px !important;font-size:14px !important;}
}

/* =====================================================================
   V1.5 - Cartes verticales identiques à la référence demandée
   Ne change aucune fonctionnalité : seulement l'affichage des cartes.
   ===================================================================== */
.voyages-conteneur .grille-voyages{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px !important;
  align-items:stretch !important;
}
.voyages-conteneur .carte-voyage.vd-card-vertical{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #edf1f6 !important;
  box-shadow:0 18px 45px rgba(15,23,42,.10) !important;
  transform:none !important;
}
.voyages-conteneur .carte-voyage.vd-card-vertical:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.14) !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo{
  position:relative !important;
  height:270px !important;
  min-height:270px !important;
  width:100% !important;
  overflow:hidden !important;
  background:#e5e7eb !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo > img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:none !important;
}
.voyages-conteneur .vd-card-vertical:hover .carte-photo > img{transform:scale(1.035) !important;}
.voyages-conteneur .vd-card-vertical .carte-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.18)) !important;
  pointer-events:none !important;
}
.voyages-conteneur .vd-card-vertical .vd-badges-gauche{
  position:absolute !important;
  z-index:5 !important;
  top:18px !important;
  left:18px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  align-items:flex-start !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette,
.voyages-conteneur .vd-card-vertical .badge-type{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  max-width:none !important;
  border:0 !important;
  border-radius:999px !important;
  padding:8px 15px !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.18) !important;
  transform:none !important;
  inset:auto !important;
  bottom:auto !important;
  right:auto !important;
  margin:0 !important;
  text-decoration:none !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette{background:#f5a400 !important;}
.voyages-conteneur .vd-card-vertical .badge-type[data-type="top_promo"]{background:#f04438 !important;}
.voyages-conteneur .vd-card-vertical .badge-type[data-type="exclusif"]{background:#8b5cf6 !important;}
.voyages-conteneur .vd-card-vertical .badge-ristourne{
  position:absolute !important;
  z-index:6 !important;
  top:18px !important;
  right:18px !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  column-gap:6px !important;
  min-width:92px !important;
  background:#ffd12f !important;
  color:#071225 !important;
  border:0 !important;
  border-radius:17px !important;
  padding:11px 13px !important;
  text-align:center !important;
  box-shadow:0 10px 24px rgba(15,23,42,.18) !important;
  cursor:pointer !important;
  font-family:var(--police) !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne small{
  grid-column:1 / -1 !important;
  display:block !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne strong{
  display:block !important;
  font-size:22px !important;
  font-weight:950 !important;
  line-height:1.05 !important;
  color:#071225 !important;
  white-space:nowrap !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne .ristourne-fleche{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:23px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#071225 !important;
  margin-left:0 !important;
  background:transparent !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
}
.voyages-conteneur .vd-card-vertical .badge-prix,
.voyages-conteneur .vd-card-vertical .carte-dest,
.voyages-conteneur .vd-card-vertical .carte-destination-ligne,
.voyages-conteneur .vd-card-vertical .carte-trajet-ligne,
.voyages-conteneur .vd-card-vertical .case-ristourne{
  display:none !important;
}
.voyages-conteneur .vd-card-vertical .carte-contenu{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  padding:24px 26px 26px !important;
  gap:0 !important;
  align-content:normal !important;
  column-gap:0 !important;
  row-gap:0 !important;
}
.voyages-conteneur .vd-card-vertical .carte-titre{
  display:block !important;
  font-family:var(--police) !important;
  font-size:24px !important;
  line-height:1.22 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  color:#111827 !important;
  margin:0 0 8px !important;
}
.voyages-conteneur .vd-card-vertical .carte-hotel{
  display:block !important;
  font-size:15px !important;
  color:#66748a !important;
  margin:0 0 17px !important;
  line-height:1.35 !important;
}
.voyages-conteneur .vd-card-vertical .carte-hotel .etoiles{color:#f5a400 !important;letter-spacing:1px !important;}
.voyages-conteneur .vd-card-vertical .carte-meta{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  margin:0 0 17px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta div{
  background:#f8fafc !important;
  border-radius:13px !important;
  padding:13px 13px !important;
  min-height:64px !important;
  border:0 !important;
  color:#40516a !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta b{
  display:block !important;
  font-size:12px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-weight:900 !important;
  color:#111827 !important;
  margin:0 0 7px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta span{
  display:block !important;
  font-size:15px !important;
  color:#40516a !important;
  line-height:1.2 !important;
}
.voyages-conteneur .vd-card-vertical .carte-places-small{
  display:block !important;
  color:#189344 !important;
  font-size:14px !important;
  font-weight:900 !important;
  margin:0 0 15px !important;
  line-height:1.3 !important;
}
.voyages-conteneur .vd-card-vertical .carte-prix-ligne{
  display:block !important;
  border-top:1px solid #e7edf4 !important;
  padding-top:17px !important;
  margin:0 !important;
  align-self:auto !important;
}
.voyages-conteneur .vd-card-vertical .prix-label{
  font-size:14px !important;
  color:#728097 !important;
  margin:0 0 2px !important;
}
.voyages-conteneur .vd-card-vertical .prix-actuel{
  font-family:var(--police) !important;
  font-size:40px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  color:#3ca7a9 !important;
  margin:0 !important;
}
.voyages-conteneur .vd-card-vertical .prix-ancien{
  display:block !important;
  font-size:16px !important;
  color:#98a4b8 !important;
  line-height:1.15 !important;
  text-decoration:line-through !important;
  margin:3px 0 0 !important;
}
.voyages-conteneur .vd-card-vertical .prix-unite{
  display:block !important;
  font-size:13px !important;
  color:#475a75 !important;
  margin-top:3px !important;
}
.voyages-conteneur .vd-card-vertical .carte-actions,
.voyages-conteneur .vd-card-vertical .carte-actions-3{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  margin:22px 0 0 !important;
  align-self:auto !important;
}
.voyages-conteneur .vd-card-vertical .btn{
  min-height:54px !important;
  border-radius:13px !important;
  padding:14px 18px !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.voyages-conteneur .vd-card-vertical .btn-details{
  background:#edfdfa !important;
  color:#116e6f !important;
  border:0 !important;
}
.voyages-conteneur .vd-card-vertical .btn-details:hover{background:#dff8f4 !important;}
.voyages-conteneur .vd-card-vertical .btn-reserver{
  background:#3ca7a9 !important;
  color:#fff !important;
  border:0 !important;
}
.voyages-conteneur .vd-card-vertical .btn-reserver:hover{background:#2f9294 !important;}
.voyages-conteneur .vd-card-vertical .btn-pdf{display:none !important;}


/* V1.6.1 - Correction icônes emoji WordPress dans les badges
   WordPress peut transformer ⭐/🔥 en petites images <img class="emoji">.
   Sans ce correctif, elles héritent du style de la photo principale. */
.voyages-conteneur .vd-card-vertical .badge-vedette img,
.voyages-conteneur .vd-card-vertical .badge-type img,
.voyages-conteneur .vd-card-vertical .carte-hotel img,
.voyages-conteneur .vd-card-vertical .carte-places-small img{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  object-fit:contain !important;
  display:inline-block !important;
  vertical-align:-2px !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  margin:0 4px 0 0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette,
.voyages-conteneur .vd-card-vertical .badge-type{
  overflow:hidden !important;
  white-space:nowrap !important;
}

@media (max-width: 1100px){
  .voyages-conteneur .grille-voyages{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 700px){
  .voyages-conteneur .grille-voyages{grid-template-columns:1fr !important;gap:22px !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:270px !important;min-height:270px !important;}
}
@media (max-width: 480px){
  .voyages-conteneur .vd-card-vertical{border-radius:21px !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:245px !important;min-height:245px !important;}
  .voyages-conteneur .vd-card-vertical .carte-contenu{padding:21px 22px 23px !important;}
  .voyages-conteneur .vd-card-vertical .carte-titre{font-size:23px !important;}
  .voyages-conteneur .vd-card-vertical .prix-actuel{font-size:39px !important;}
  .voyages-conteneur .vd-card-vertical .btn{min-height:53px !important;font-size:15px !important;}
  .voyages-conteneur .vd-card-vertical .badge-ristourne{top:16px !important;right:16px !important;}
}

/* =====================================================================
   V1.6.2 - Optimisation carte compacte + couleurs demandées
   ===================================================================== */
:root{
  --couleur-primaire:#d16830;
  --couleur-primaire-hover:#b85a28;
  --couleur-secondaire-bg:#faf6f1;
}

/* Filtres : fond beige, options sur une ligne desktop */
.voyages-conteneur .filtres-wrapper{
  background:var(--couleur-filtre-bg, #faf6f1) !important;
  border:1px solid var(--couleur-filtre-bordure, #eadfd5) !important;
  border-radius:22px !important;
  box-shadow:0 14px 38px rgba(15,23,42,.08) !important;
  padding:18px 22px !important;
  display:grid !important;
  grid-template-columns:1.45fr 1fr 1fr 1fr 1fr auto !important;
  gap:14px !important;
  align-items:end !important;
}
.voyages-conteneur .filtre-champ label{color:var(--couleur-filtre-texte, #183247) !important;}
.voyages-conteneur .filtre-champ input,
.voyages-conteneur .filtre-champ select{
  min-height:46px !important;
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  border-radius:12px !important;
  padding:9px 13px !important;
}
.voyages-conteneur .btn-reinitialiser{
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  color:#6b7280 !important;
  border-radius:12px !important;
}

/* Carte verticale plus compacte */
.voyages-conteneur .carte-voyage.vd-card-vertical{
  border-radius:22px !important;
  box-shadow:0 16px 38px rgba(15,23,42,.09) !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo{
  height:220px !important;
  min-height:220px !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo::after{
  background:linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.66) 100%) !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay{
  position:absolute !important;
  z-index:5 !important;
  left:18px !important;
  bottom:17px !important;
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
  max-width:70% !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay strong{
  display:block !important;
  font-size:24px !important;
  font-weight:950 !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay small{
  display:block !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin-top:4px !important;
  opacity:.94 !important;
}
.voyages-conteneur .vd-card-vertical .vd-badges-gauche{
  top:14px !important;
  left:16px !important;
  gap:7px !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette,
.voyages-conteneur .vd-card-vertical .badge-type{
  padding:7px 13px !important;
  font-size:13px !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne{
  top:14px !important;
  right:14px !important;
  min-width:84px !important;
  border-radius:15px !important;
  padding:8px 11px !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne small{font-size:9px !important;}
.voyages-conteneur .vd-card-vertical .badge-ristourne strong{font-size:20px !important;}
.voyages-conteneur .vd-card-vertical .badge-ristourne .ristourne-fleche{font-size:19px !important;}

.voyages-conteneur .vd-card-vertical .carte-contenu{
  position:relative !important;
  padding:19px 23px 22px !important;
}
.voyages-conteneur .vd-card-vertical .carte-titre{
  font-size:22px !important;
  margin:0 0 7px !important;
}
.voyages-conteneur .vd-card-vertical .carte-hotel{
  font-size:14px !important;
  margin:0 0 12px !important;
}
/* Ne jamais afficher le sous-titre/auteur de secours sous le titre */
.voyages-conteneur .vd-card-vertical .carte-hotel:empty{display:none !important;}
.voyages-conteneur .vd-card-vertical .carte-meta{
  gap:11px !important;
  margin:0 0 11px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta div{
  min-height:55px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta b{
  font-size:11px !important;
  margin-bottom:5px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta span{font-size:14px !important;}

/* Places disponibles en petit dans le coin du contenu */
.voyages-conteneur .vd-card-vertical .carte-places-small{
  position:absolute !important;
  top:20px !important;
  right:22px !important;
  max-width:120px !important;
  text-align:right !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  margin:0 !important;
  color:#1e8f45 !important;
}
.voyages-conteneur .vd-card-vertical .carte-places-small img{
  width:13px !important;
  height:13px !important;
  min-width:13px !important;
  min-height:13px !important;
}
.voyages-conteneur .vd-card-vertical .carte-prix-ligne{
  border-top:1px solid #edf1f6 !important;
  padding-top:12px !important;
}
.voyages-conteneur .vd-card-vertical .prix-label{
  font-size:12px !important;
  margin:0 0 1px !important;
}
.voyages-conteneur .vd-card-vertical .prix-actuel{
  display:inline-block !important;
  font-size:34px !important;
  color:#3ca7a9 !important;
  vertical-align:baseline !important;
}
.voyages-conteneur .vd-card-vertical .prix-unite{
  display:inline-block !important;
  margin:0 0 0 8px !important;
  font-size:12px !important;
  color:#475a75 !important;
  vertical-align:baseline !important;
}
.voyages-conteneur .vd-card-vertical .prix-ancien{
  font-size:14px !important;
  margin-top:1px !important;
}
.voyages-conteneur .vd-card-vertical .carte-actions,
.voyages-conteneur .vd-card-vertical .carte-actions-3{
  gap:12px !important;
  margin:16px 0 0 !important;
}
.voyages-conteneur .vd-card-vertical .btn{
  min-height:48px !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  font-size:15px !important;
}
.voyages-conteneur .vd-card-vertical .btn-details{
  background:#faf6f1 !important;
  color:#d16830 !important;
  border:1px solid #eadfd5 !important;
}
.voyages-conteneur .vd-card-vertical .btn-details:hover{background:#f3ebe3 !important;}
.voyages-conteneur .vd-card-vertical .btn-reserver{
  background:#d16830 !important;
  color:#fff !important;
  border:1px solid #d16830 !important;
}
.voyages-conteneur .vd-card-vertical .btn-reserver:hover{background:#b85a28 !important;}

@media (max-width: 1100px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:1fr 1fr 1fr !important;}
}
@media (max-width: 700px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:1fr 1fr !important;padding:16px !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:210px !important;min-height:210px !important;}
}
@media (max-width: 480px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:1fr !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:205px !important;min-height:205px !important;}
  .voyages-conteneur .vd-card-vertical .carte-contenu{padding:17px 18px 19px !important;}
  .voyages-conteneur .vd-card-vertical .carte-titre{font-size:21px !important; padding-right:92px !important;}
  .voyages-conteneur .vd-card-vertical .carte-places-small{top:18px !important;right:18px !important;font-size:10px !important;max-width:94px !important;}
  .voyages-conteneur .vd-card-vertical .prix-actuel{font-size:31px !important;}
  .voyages-conteneur .vd-card-vertical .prix-unite{font-size:11px !important;margin-left:5px !important;}
  .voyages-conteneur .vd-card-vertical .btn{min-height:46px !important;font-size:14px !important;}
}


/* =====================================================================
   V1.6.3 - Polissage compact final des cartes
   ===================================================================== */
.voyages-conteneur .vd-card-vertical .carte-photo{
  height:205px !important;
  min-height:205px !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo::after{
  background:linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.05) 42%,rgba(0,0,0,.72) 100%) !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay{
  bottom:25px !important;
  left:18px !important;
  text-shadow:0 3px 10px rgba(0,0,0,.55) !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay strong{
  font-size:23px !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay small{
  font-size:12px !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette,
.voyages-conteneur .vd-card-vertical .badge-type{
  padding:6px 11px !important;
  font-size:12px !important;
  min-height:0 !important;
}
.voyages-conteneur .vd-card-vertical .vd-badges-gauche{
  top:12px !important;
  left:14px !important;
  gap:6px !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne{
  top:12px !important;
  right:12px !important;
  min-width:78px !important;
  border-radius:14px !important;
  padding:7px 10px !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne small{font-size:8px !important;}
.voyages-conteneur .vd-card-vertical .badge-ristourne strong{font-size:18px !important;}
.voyages-conteneur .vd-card-vertical .badge-ristourne .ristourne-fleche{font-size:18px !important;}
.voyages-conteneur .vd-card-vertical .carte-contenu{
  padding:16px 22px 18px !important;
}
.voyages-conteneur .vd-card-vertical .carte-titre{
  font-size:21px !important;
  line-height:1.15 !important;
  margin:0 0 12px !important;
  padding-right:112px !important;
}
.voyages-conteneur .vd-card-vertical .carte-hotel{
  display:none !important;
}
.voyages-conteneur .vd-card-vertical .carte-places-small{
  top:17px !important;
  right:20px !important;
  max-width:105px !important;
  font-size:12px !important;
  line-height:1.05 !important;
}
.voyages-conteneur .vd-card-vertical .carte-places-small img{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta{
  gap:10px !important;
  margin:0 0 10px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta div{
  min-height:48px !important;
  padding:9px 11px !important;
  border-radius:11px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta b{
  font-size:10px !important;
  margin-bottom:4px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta span{
  font-size:13px !important;
}
.voyages-conteneur .vd-card-vertical .carte-prix-ligne{
  padding-top:10px !important;
  margin-top:0 !important;
}
.voyages-conteneur .vd-card-vertical .prix-label{
  font-size:12px !important;
}
.voyages-conteneur .vd-card-vertical .prix-main-row{
  display:flex !important;
  align-items:baseline !important;
  gap:7px !important;
  flex-wrap:wrap !important;
}
.voyages-conteneur .vd-card-vertical .prix-actuel{
  font-size:31px !important;
  line-height:.95 !important;
}
.voyages-conteneur .vd-card-vertical .prix-unite{
  display:inline !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1 !important;
}
.voyages-conteneur .vd-card-vertical .prix-ancien{
  font-size:13px !important;
  margin-top:0 !important;
}
.voyages-conteneur .vd-card-vertical .carte-actions,
.voyages-conteneur .vd-card-vertical .carte-actions-3{
  margin:13px 0 0 !important;
  gap:11px !important;
}
.voyages-conteneur .vd-card-vertical .btn{
  min-height:43px !important;
  padding:10px 13px !important;
  font-size:14px !important;
}
.voyages-conteneur .carte-voyage.vd-card-vertical:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 26px 60px rgba(15,23,42,.16) !important;
}
.voyages-conteneur .vd-card-vertical:hover .carte-photo > img{
  transform:scale(1.04) !important;
}
@media (max-width:700px){
  .voyages-conteneur .vd-card-vertical .carte-photo{height:200px !important;min-height:200px !important;}
}
@media (max-width:480px){
  .voyages-conteneur .vd-card-vertical .carte-photo{height:195px !important;min-height:195px !important;}
  .voyages-conteneur .vd-card-vertical .carte-contenu{padding:15px 18px 17px !important;}
  .voyages-conteneur .vd-card-vertical .carte-titre{font-size:20px !important;padding-right:88px !important;margin-bottom:11px !important;}
  .voyages-conteneur .vd-card-vertical .carte-places-small{top:16px !important;right:18px !important;font-size:10px !important;max-width:84px !important;}
  .voyages-conteneur .vd-card-vertical .prix-actuel{font-size:29px !important;}
  .voyages-conteneur .vd-card-vertical .btn{min-height:42px !important;font-size:13px !important;}
}

/* =====================================================================
   V1.6.4 - Polissage expert carte + filtres compacts
   ===================================================================== */
.voyages-conteneur .grille-voyages{
  display:grid !important;
  grid-template-columns:repeat(var(--vd-cards-per-row,3), minmax(0,1fr)) !important;
  gap:var(--vd-card-gap,24px) !important;
  align-items:start !important;
}
.voyages-conteneur .carte-voyage.vd-card-vertical{
  border-radius:var(--vd-card-radius,20px) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
  background:#fff !important;
  transition:transform .24s ease, box-shadow .24s ease !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo{
  height:var(--vd-card-image-height,195px) !important;
  min-height:var(--vd-card-image-height,195px) !important;
  overflow:hidden !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo > img{
  height:100% !important;
  width:100% !important;
  object-fit:cover !important;
  transition:transform .32s ease !important;
}
.voyages-conteneur .vd-card-vertical .carte-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:linear-gradient(to bottom, rgba(0,0,0,.02) 0%, rgba(0,0,0,.05) 42%, rgba(0,0,0,.78) 100%) !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay{
  bottom:14px !important;
  left:16px !important;
  max-width:72% !important;
  z-index:5 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.68) !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay strong{
  font-size:22px !important;
  line-height:1.02 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}
.voyages-conteneur .vd-card-vertical .vd-destination-overlay small{
  font-size:12px !important;
  line-height:1.1 !important;
  margin-top:3px !important;
  font-weight:800 !important;
}
.voyages-conteneur .vd-card-vertical .vd-badges-gauche{
  top:10px !important;
  left:12px !important;
  gap:5px !important;
  z-index:6 !important;
}
.voyages-conteneur .vd-card-vertical .badge-vedette,
.voyages-conteneur .vd-card-vertical .badge-type{
  min-height:31px !important;
  height:31px !important;
  padding:5px 12px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  white-space:nowrap !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne{
  top:10px !important;
  right:10px !important;
  min-width:76px !important;
  min-height:0 !important;
  padding:6px 10px 7px !important;
  border-radius:14px !important;
  line-height:1 !important;
  z-index:6 !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne small{
  display:block !important;
  font-size:8px !important;
  line-height:1 !important;
  margin-bottom:2px !important;
  letter-spacing:.02em !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne strong{
  font-size:18px !important;
  line-height:1 !important;
}
.voyages-conteneur .vd-card-vertical .badge-ristourne .ristourne-fleche{
  font-size:17px !important;
  line-height:1 !important;
}
.voyages-conteneur .vd-card-vertical .carte-contenu{
  padding:15px 20px 17px !important;
  position:relative !important;
}
.voyages-conteneur .vd-card-vertical .carte-titre{
  font-size:20px !important;
  line-height:1.12 !important;
  margin:0 0 10px !important;
  padding-right:96px !important;
  color:#071126 !important;
  letter-spacing:-.02em !important;
}
/* Supprime tout sous-titre/auteur sous le titre sur les cartes */
.voyages-conteneur .vd-card-vertical .carte-hotel,
.voyages-conteneur .vd-card-vertical .carte-auteur,
.voyages-conteneur .vd-card-vertical .byline,
.voyages-conteneur .vd-card-vertical .author{
  display:none !important;
}
.voyages-conteneur .vd-card-vertical .carte-places-small{
  position:absolute !important;
  top:15px !important;
  right:18px !important;
  max-width:86px !important;
  text-align:right !important;
  font-size:11px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  color:var(--couleur-succes,#2f805d) !important;
  margin:0 !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta{
  gap:9px !important;
  margin:0 0 9px !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta div{
  min-height:45px !important;
  padding:8px 10px !important;
  border-radius:11px !important;
  background:#f8fafc !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta b{
  font-size:10px !important;
  margin-bottom:3px !important;
  letter-spacing:.04em !important;
}
.voyages-conteneur .vd-card-vertical .carte-meta span{
  font-size:13px !important;
  line-height:1.18 !important;
}
.voyages-conteneur .vd-card-vertical .carte-prix-ligne{
  border-top:1px solid #edf1f6 !important;
  padding-top:9px !important;
  margin-top:0 !important;
}
.voyages-conteneur .vd-card-vertical .prix-label{
  font-size:12px !important;
  margin:0 0 2px !important;
}
.voyages-conteneur .vd-card-vertical .prix-main-row{
  display:flex !important;
  align-items:baseline !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}
.voyages-conteneur .vd-card-vertical .prix-actuel{
  font-size:29px !important;
  line-height:.98 !important;
  color:#3ca7a9 !important;
  letter-spacing:-.04em !important;
}
.voyages-conteneur .vd-card-vertical .prix-unite{
  font-size:11px !important;
  line-height:1 !important;
  margin:0 !important;
  color:#42526e !important;
}
.voyages-conteneur .vd-card-vertical .prix-ancien{
  font-size:12px !important;
  margin-top:1px !important;
  line-height:1 !important;
}
.voyages-conteneur .vd-card-vertical .carte-actions,
.voyages-conteneur .vd-card-vertical .carte-actions-3{
  margin:12px 0 0 !important;
  gap:10px !important;
}
.voyages-conteneur .vd-card-vertical .btn{
  min-height:40px !important;
  padding:9px 12px !important;
  border-radius:12px !important;
  font-size:14px !important;
  line-height:1 !important;
}
.voyages-conteneur .vd-card-vertical .btn-details{
  background:#faf6f1 !important;
  color:var(--couleur-primaire,#d16830) !important;
  border:1px solid #eadfd5 !important;
}
.voyages-conteneur .vd-card-vertical .btn-reserver{
  background:var(--couleur-primaire,#d16830) !important;
  border-color:var(--couleur-primaire,#d16830) !important;
}
.voyages-conteneur .vd-card-vertical .btn-reserver:hover{
  background:var(--couleur-primaire-hover,#b85a28) !important;
  border-color:var(--couleur-primaire-hover,#b85a28) !important;
}
.voyages-conteneur .carte-voyage.vd-card-vertical:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 24px 56px rgba(15,23,42,.14) !important;
}
.voyages-conteneur .vd-card-vertical:hover .carte-photo > img{
  transform:scale(1.035) !important;
}

/* Filtres : même ligne desktop + fond client */
.voyages-conteneur .filtres-wrapper{
  display:grid !important;
  grid-template-columns:minmax(220px,1.4fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(150px,.8fr) minmax(150px,.9fr) auto !important;
  gap:14px !important;
  align-items:end !important;
  background:var(--couleur-filtre-bg,#faf6f1) !important;
  border:1px solid var(--couleur-filtre-bordure,#eadfd5) !important;
  border-radius:20px !important;
  padding:18px 22px !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ label{
  color:var(--couleur-filtre-texte,#183247) !important;
  font-size:11px !important;
  letter-spacing:.05em !important;
}
.voyages-conteneur .filtres-wrapper input,
.voyages-conteneur .filtres-wrapper select{
  min-height:42px !important;
  border-radius:10px !important;
  border:1px solid var(--couleur-filtre-bordure,#eadfd5) !important;
  background:#fff !important;
}
.voyages-conteneur .filtres-wrapper .btn-reset,
.voyages-conteneur .filtres-wrapper button,
.voyages-conteneur .filtres-wrapper a.btn-reset{
  min-height:42px !important;
  border-radius:10px !important;
}

@media (max-width:1100px){
  .voyages-conteneur .grille-voyages{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .voyages-conteneur .filtres-wrapper{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:700px){
  .voyages-conteneur .grille-voyages{grid-template-columns:1fr !important;gap:20px !important;}
  .voyages-conteneur .filtres-wrapper{grid-template-columns:repeat(2,minmax(0,1fr)) !important;padding:15px !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:190px !important;min-height:190px !important;}
}
@media (max-width:480px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:1fr !important;}
  .voyages-conteneur .vd-card-vertical .carte-photo{height:185px !important;min-height:185px !important;}
  .voyages-conteneur .vd-card-vertical .carte-contenu{padding:14px 17px 16px !important;}
  .voyages-conteneur .vd-card-vertical .carte-titre{font-size:19px !important;padding-right:82px !important;margin-bottom:9px !important;}
  .voyages-conteneur .vd-card-vertical .carte-places-small{top:14px !important;right:16px !important;font-size:10px !important;max-width:78px !important;}
  .voyages-conteneur .vd-card-vertical .carte-meta div{min-height:43px !important;padding:8px 9px !important;}
  .voyages-conteneur .vd-card-vertical .prix-actuel{font-size:27px !important;}
  .voyages-conteneur .vd-card-vertical .prix-unite{font-size:10px !important;}
  .voyages-conteneur .vd-card-vertical .btn{min-height:39px !important;font-size:13px !important;}
}


/* =====================================================================
   V1.6 - Corrections filtres + page détail/réservation couleurs client
   ===================================================================== */
.voyages-conteneur .filtres-wrapper{
  background:#faf6f1 !important;
  border:1px solid #eadfd5 !important;
  border-radius:22px !important;
  display:grid !important;
  grid-template-columns:minmax(190px,1.18fr) minmax(150px,.82fr) minmax(150px,.82fr) minmax(150px,.76fr) minmax(145px,.78fr) minmax(122px,.58fr) !important;
  gap:14px !important;
  align-items:end !important;
  padding:18px 22px !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ{
  min-width:0 !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ label{
  display:block !important;
  color:#58677d !important;
  font-size:11px !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  margin:0 0 5px !important;
}
.voyages-conteneur .filtres-wrapper input,
.voyages-conteneur .filtres-wrapper select{
  width:100% !important;
  min-height:44px !important;
  height:44px !important;
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  border-radius:12px !important;
  color:#0f2137 !important;
  font-size:14px !important;
  padding:8px 13px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.voyages-conteneur .filtres-wrapper input::placeholder{
  color:#7b8798 !important;
  opacity:1 !important;
}
.voyages-conteneur .filtres-wrapper select option{
  color:#0f2137 !important;
  background:#fff !important;
}
.voyages-conteneur .filtres-wrapper button[style*="display:none"],
.voyages-conteneur .filtres-wrapper button.btn-reinitialiser[style*="display:none"]{
  display:none !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
}
.voyages-conteneur .btn-reinitialiser{
  min-height:44px !important;
  height:44px !important;
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  color:#58677d !important;
  border-radius:12px !important;
  padding:8px 14px !important;
  font-size:14px !important;
  font-weight:800 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
.voyages-conteneur .btn-reinitialiser:hover{
  background:#fff7ef !important;
  color:#d16830 !important;
  border-color:#d16830 !important;
}

/* Page détail : panneau réservation et actions en orange client */
.voyage-detail .panneau-prix,
.voyages-plugin .panneau-prix,
.panneau-prix{
  background:#d16830 !important;
  color:#fff !important;
}
.panneau-prix .prix-actuel-detail,
.panneau-prix .prix-actuel,
.panneau-prix strong{
  color:#fff !important;
}
.panneau-prix select,
.panneau-prix .select-chambre,
.panneau-prix .liste-chambres-toggle{
  border-color:rgba(255,255,255,.32) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.panneau-compte-rebours{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#fff !important;
}
.panneau-prix-dispo{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.btn-reserver-maintenant,
.panneau-prix .btn-reserver-maintenant,
.voyage-detail .btn-reserver-maintenant{
  background:#fff !important;
  color:#d16830 !important;
  border:0 !important;
}
.btn-reserver-maintenant:hover,
.panneau-prix .btn-reserver-maintenant:hover{
  background:#faf6f1 !important;
  color:#b85a28 !important;
}
.btn-telecharger-pdf,
.panneau-prix .btn-telecharger-pdf{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
}

/* Popup réservation : icônes/boutons harmonisés */
.modal-box h2,
.modal-box h3,
.modal-box legend,
.form-reservation h3{
  color:#0f2137 !important;
}
.modal-fermer,
.modal-close,
.vd-modal-close{
  background:#d16830 !important;
  color:#fff !important;
  border-radius:999px !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}
.modal-fermer:hover,
.modal-close:hover,
.vd-modal-close:hover{
  background:#b85a28 !important;
  color:#fff !important;
}
.form-reservation button,
.form-reservation .btn-submit,
.modal-box .btn-submit,
.modal-box button[type="submit"]{
  background:#d16830 !important;
  color:#fff !important;
  border-color:#d16830 !important;
}
.form-reservation button:hover,
.form-reservation .btn-submit:hover,
.modal-box .btn-submit:hover,
.modal-box button[type="submit"]:hover{
  background:#b85a28 !important;
  border-color:#b85a28 !important;
}
.option-chambre:has(input:checked),
.ligne-chambre:has(input:checked){
  border-color:#d16830 !important;
  background:#faf6f1 !important;
}
.form-reservation input:focus,
.form-reservation select:focus,
.form-reservation textarea:focus,
.modal-box input:focus,
.modal-box select:focus,
.modal-box textarea:focus{
  border-color:#d16830 !important;
  box-shadow:0 0 0 3px rgba(209,104,48,.14) !important;
  outline:none !important;
}

@media (max-width:1200px){
  .voyages-conteneur .filtres-wrapper{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  .voyages-conteneur .filtres-wrapper{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:15px !important;
  }
}
@media (max-width:520px){
  .voyages-conteneur .filtres-wrapper{
    grid-template-columns:1fr !important;
  }
}

/* v13 - Ajustements finaux demandés : couleur prix/boutons carte */
.voyages-conteneur .vd-card-vertical .prix-actuel,
.voyages-conteneur .carte-voyage .prix-actuel,
.voyages-conteneur .prix-actuel{
  color:#d16830 !important;
}

.voyages-conteneur .vd-card-vertical .btn-reserver,
.voyages-conteneur .carte-voyage .btn-reserver,
.voyages-conteneur .btn-reserver{
  background:#d16830 !important;
  border-color:#d16830 !important;
  color:#ffffff !important;
}
.voyages-conteneur .vd-card-vertical .btn-reserver:hover,
.voyages-conteneur .carte-voyage .btn-reserver:hover,
.voyages-conteneur .btn-reserver:hover{
  background:#b85a28 !important;
  border-color:#b85a28 !important;
  color:#ffffff !important;
}

.voyages-conteneur .vd-card-vertical .btn-details,
.voyages-conteneur .carte-voyage .btn-details,
.voyages-conteneur .btn-details{
  background:#faf6f1 !important;
  color:#000000 !important;
  border-color:#eadfd2 !important;
}
.voyages-conteneur .vd-card-vertical .btn-details:hover,
.voyages-conteneur .carte-voyage .btn-details:hover,
.voyages-conteneur .btn-details:hover{
  background:#f3ebe3 !important;
  color:#000000 !important;
  border-color:#e2d4c5 !important;
}

/* v14 - Options responsive, pagination, formulaire/détails différenciés */
.voyages-conteneur .grille-voyages{
  grid-template-columns:repeat(var(--vd-cards-per-row,3), minmax(0,1fr)) !important;
}
@media (max-width:1100px){
  .voyages-conteneur .grille-voyages{
    grid-template-columns:repeat(var(--vd-cards-per-row-tablet,2), minmax(0,1fr)) !important;
  }
}
@media (max-width:600px){
  .voyages-conteneur .grille-voyages{
    grid-template-columns:repeat(var(--vd-cards-per-row-mobile,1), minmax(0,1fr)) !important;
  }
}

/* Filtres : une vraie ligne sur ordinateur, puis responsive automatiquement */
.voyages-conteneur .filtres-wrapper{
  display:grid !important;
  grid-template-columns:minmax(220px,1.25fr) minmax(160px,.9fr) minmax(160px,.9fr) minmax(165px,.85fr) minmax(165px,.85fr) minmax(130px,.7fr) !important;
  gap:14px !important;
  align-items:end !important;
  background:#faf6f1 !important;
}
.voyages-conteneur .filtres-wrapper input::placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
@media (max-width:1180px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:520px){
  .voyages-conteneur .filtres-wrapper{grid-template-columns:1fr !important;}
}

/* Pagination */
.voyages-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:26px 0 4px;
}
.voyages-page-link{
  min-width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid #eadfd5;
  background:#faf6f1;
  color:#111827;
  font-weight:800;
  text-decoration:none !important;
}
.voyages-page-link:hover,
.voyages-page-link.is-active{
  background:#d16830;
  border-color:#d16830;
  color:#fff;
}

/* Correctif affichage options/select dans les popups */
.modal-box select,
.modal-box select option,
.form-reservation select,
.form-reservation select option{
  color:#111827 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#111827 !important;
}

/* Nouveau style réservation : plus doux, moins similaire au modèle de référence */
#modal-reservation .modal-box{
  width:min(780px,100%) !important;
  border-radius:28px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 30px 90px rgba(15,33,55,.24) !important;
  border:1px solid rgba(209,104,48,.15) !important;
}
#modal-reservation .modal-box > h2,
#modal-reservation .modal-box > .modal-sous-titre{
  background:linear-gradient(135deg,#d16830,#b85a28) !important;
  color:#fff !important;
  margin:0 !important;
  padding-left:28px !important;
  padding-right:72px !important;
}
#modal-reservation .modal-box > h2{
  padding-top:26px !important;
  padding-bottom:6px !important;
  font-family:inherit !important;
  font-size:28px !important;
  letter-spacing:-.02em !important;
}
#modal-reservation .modal-box > .modal-sous-titre{
  padding-top:0 !important;
  padding-bottom:24px !important;
  opacity:.92 !important;
}
#modal-reservation .form-reservation{
  padding:26px 28px 30px !important;
  background:linear-gradient(180deg,#fff,#fffaf6) !important;
  gap:16px !important;
}
#modal-reservation .form-section-titre{
  background:#faf6f1 !important;
  border:1px solid #eadfd5 !important;
  border-radius:16px !important;
  padding:12px 14px !important;
  color:#111827 !important;
  margin:6px 0 2px !important;
  font-weight:900 !important;
}
#modal-reservation .form-champ input,
#modal-reservation .form-champ select,
#modal-reservation .form-champ textarea{
  border-radius:14px !important;
  border:1px solid #eadfd5 !important;
  background:#fff !important;
  min-height:46px !important;
}
#modal-reservation .btn-submit{
  border-radius:16px !important;
  min-height:54px !important;
  font-size:17px !important;
  box-shadow:0 12px 26px rgba(209,104,48,.22) !important;
}
#modal-reservation .modal-fermer{
  top:18px !important;
  right:18px !important;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
}

/* Nouveau style détails : carte plus originale, moins proche du site modèle */
#modal-detail .modal-box{
  width:min(980px,100%) !important;
  border-radius:30px !important;
  padding:28px !important;
  background:#fffaf6 !important;
  border:1px solid #eadfd5 !important;
}
#modal-detail .detail-grille{
  grid-template-columns:1.25fr .85fr !important;
  gap:24px !important;
}
#modal-detail .detail-colonne-gauche,
#modal-detail .detail-section,
#modal-detail .resume-voyage{
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  border-radius:22px !important;
  padding:18px !important;
  box-shadow:0 12px 30px rgba(15,33,55,.06) !important;
}
#modal-detail .detail-section h4{
  color:#d16830 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}
#modal-detail .panneau-prix{
  background:#d16830 !important;
  border-radius:24px !important;
  box-shadow:0 18px 46px rgba(209,104,48,.24) !important;
}
#modal-detail .panneau-prix-montant{
  color:#fff !important;
}
@media (max-width:760px){
  #modal-reservation .modal-box > h2{font-size:23px !important;}
  #modal-reservation .form-reservation{padding:20px 18px 24px !important;}
  #modal-detail .modal-box{padding:18px !important;border-radius:22px !important;}
  #modal-detail .detail-grille{grid-template-columns:1fr !important;}
}


/* === v15 correctifs UX réservation + nouveau style détail === */
.modal-overlay{
  align-items:flex-start !important;
  justify-content:center !important;
  padding:18px !important;
  overflow-y:auto !important;
}
.modal-overlay.actif{display:flex !important;}
.modal-box{
  max-height:calc(100vh - 36px) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}
#modal-reservation .modal-box{
  width:min(860px,100%) !important;
  max-height:calc(100vh - 36px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:26px !important;
}
#modal-reservation .form-reservation{
  padding-bottom:42px !important;
}
#modal-reservation .liste-options-chambre{
  display:grid !important;
  gap:10px !important;
  max-height:none !important;
  overflow:visible !important;
}
#modal-reservation .option-chambre{
  min-height:72px !important;
  padding:12px 16px !important;
  display:grid !important;
  grid-template-columns:22px 1fr auto !important;
  gap:12px !important;
  align-items:center !important;
}
#modal-reservation select,
#modal-reservation select option,
#modal-reservation .form-champ select,
#modal-reservation .form-champ select option,
#reservation-select-agence,
#reservation-select-agence option,
#reservation-filtre-ville-agence,
#reservation-filtre-ville-agence option{
  color:#111827 !important;
  background-color:#ffffff !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
}
#modal-reservation option[hidden]{display:none !important;}
#modal-reservation .modal-fermer{z-index:9999 !important;}

/* Popup détail: structure visuelle différente, plus premium et moins similaire au modèle */
#modal-detail .modal-box{
  width:min(1040px,100%) !important;
  padding:0 !important;
  background:#fff !important;
  border-radius:28px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(209,104,48,.18) !important;
  box-shadow:0 30px 90px rgba(15,33,55,.24) !important;
}
#modal-detail .modal-fermer{
  top:16px !important;
  right:16px !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.30) !important;
  z-index:3 !important;
}
#modal-detail .vd-detail-hero-modern{
  min-height:230px;
  padding:34px 34px 28px;
  background-size:cover;
  background-position:center;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
}
#modal-detail .vd-detail-kicker{
  display:inline-flex;
  align-self:flex-start;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(250,246,241,.16);
  border:1px solid rgba(255,255,255,.20);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
#modal-detail .vd-detail-hero-modern h2{
  margin:0 !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:clamp(26px,3vw,42px) !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
  max-width:760px;
}
#modal-detail .vd-detail-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  font-size:14px;
}
#modal-detail .vd-detail-hero-meta span{
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.18);
  padding:7px 10px;
  border-radius:12px;
  backdrop-filter:blur(6px);
}
#modal-detail .detail-grille{
  display:grid !important;
  grid-template-columns:1fr 330px !important;
  gap:20px !important;
  padding:24px !important;
  background:#faf6f1 !important;
}
#modal-detail .detail-colonne-gauche{
  display:grid !important;
  gap:16px !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
#modal-detail .carte-resume,
#modal-detail .detail-section{
  background:#fff !important;
  border:1px solid #eadfd5 !important;
  border-radius:20px !important;
  padding:18px !important;
  box-shadow:0 10px 26px rgba(15,33,55,.06) !important;
  margin:0 !important;
}
#modal-detail .carte-resume-titre,
#modal-detail .detail-section h4{
  color:#d16830 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-size:13px !important;
  margin:0 0 12px !important;
}
#modal-detail .carte-resume-grille{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
#modal-detail .carte-resume-grille > div{
  background:#faf6f1;
  border-radius:14px;
  padding:12px;
}
#modal-detail .carte-resume-grille span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#667085;
  font-weight:800;
  margin-bottom:4px;
}
#modal-detail .detail-colonne-droite{
  position:sticky;
  top:14px;
  align-self:start;
}
#modal-detail .panneau-prix{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid rgba(209,104,48,.24) !important;
  border-radius:22px !important;
  padding:20px !important;
  box-shadow:0 16px 40px rgba(209,104,48,.15) !important;
}
#modal-detail .panneau-prix-label{
  color:#667085 !important;
  font-weight:800 !important;
}
#modal-detail .panneau-prix-montant{
  color:#d16830 !important;
  font-size:38px !important;
}
#modal-detail .panneau-prix-sous,
#modal-detail .panneau-prix-ligne,
#modal-detail .panneau-prix-dispo{
  color:#111827 !important;
}
#modal-detail .btn-chambre-toggle,
#modal-detail .btn-telecharger-pdf{
  background:#faf6f1 !important;
  color:#111827 !important;
  border:1px solid #eadfd5 !important;
}
#modal-detail .btn-reserver-maintenant{
  background:#d16830 !important;
  color:#fff !important;
  border-radius:16px !important;
  box-shadow:0 12px 26px rgba(209,104,48,.24) !important;
}
#modal-detail .panneau-compte-rebours{
  background:#fff7e6 !important;
  color:#9a4a16 !important;
  border:1px solid #f2c58c !important;
}
@media (max-width:900px){
  #modal-detail .detail-grille{grid-template-columns:1fr !important; padding:18px !important;}
  #modal-detail .detail-colonne-droite{position:static !important;}
}
@media (max-width:640px){
  .modal-overlay{padding:10px !important;}
  #modal-reservation .modal-box,
  #modal-detail .modal-box{max-height:calc(100vh - 20px) !important; border-radius:20px !important;}
  #modal-reservation .modal-box > h2{font-size:22px !important; padding-left:20px !important;}
  #modal-reservation .modal-box > .modal-sous-titre{padding-left:20px !important;}
  #modal-reservation .form-reservation{padding:18px 16px 32px !important;}
  #modal-reservation .option-chambre{grid-template-columns:22px 1fr !important;}
  #modal-reservation .option-chambre-prix{grid-column:2; justify-self:start !important;}
  #modal-detail .vd-detail-hero-modern{min-height:190px; padding:60px 20px 22px;}
  #modal-detail .carte-resume-grille{grid-template-columns:1fr !important;}
}


/* === v16 correctifs finaux: options agence visibles + détails sans nom auteur/hôtel === */
#reservation-select-agence,
#reservation-select-agence option,
#reservation-filtre-ville-agence,
#reservation-filtre-ville-agence option{
  color:#111827 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#111827 !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
#modal-reservation .form-champ select{
  color:#111827 !important;
  background-color:#ffffff !important;
}
#modal-detail .vd-detail-hero-meta span:first-child{
  margin-left:0 !important;
}


/* === v17 responsive filtres + select agences lisible === */
.voyages-conteneur .filtres-wrapper{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ{
  flex:1 1 150px !important;
  min-width:145px !important;
  max-width:100% !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ:first-child{
  flex:1.35 1 220px !important;
}
.voyages-conteneur .filtres-wrapper .btn-reinitialiser,
.voyages-conteneur .filtres-wrapper a.btn-reinitialiser,
.voyages-conteneur .filtres-wrapper button.btn-reinitialiser{
  flex:0 1 150px !important;
  min-width:130px !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.voyages-conteneur .filtres-wrapper input,
.voyages-conteneur .filtres-wrapper select{
  max-width:100% !important;
}
@media (min-width:1181px){
  .voyages-conteneur .filtres-wrapper{flex-wrap:nowrap !important;}
  .voyages-conteneur .filtres-wrapper .filtre-champ{min-width:0 !important;}
  .voyages-conteneur .filtres-wrapper .filtre-champ:first-child{min-width:190px !important;}
}
@media (max-width:900px){
  .voyages-conteneur .filtres-wrapper .filtre-champ{flex:1 1 calc(50% - 14px) !important;}
  .voyages-conteneur .filtres-wrapper .btn-reinitialiser{flex:1 1 calc(50% - 14px) !important;}
}
@media (max-width:560px){
  .voyages-conteneur .filtres-wrapper{padding:14px !important; gap:10px !important;}
  .voyages-conteneur .filtres-wrapper .filtre-champ,
  .voyages-conteneur .filtres-wrapper .filtre-champ:first-child,
  .voyages-conteneur .filtres-wrapper .btn-reinitialiser{
    flex:1 1 100% !important;
    min-width:0 !important;
    width:100% !important;
  }
}

#modal-reservation #reservation-select-agence,
#modal-reservation #reservation-select-agence option,
#modal-reservation #reservation-filtre-ville-agence,
#modal-reservation #reservation-filtre-ville-agence option{
  color:#000000 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#000000 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
#modal-reservation #reservation-select-agence option:checked,
#modal-reservation #reservation-select-agence option:hover,
#modal-reservation #reservation-filtre-ville-agence option:checked,
#modal-reservation #reservation-filtre-ville-agence option:hover{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  background:#f7efe7 !important;
}


/* v18 Dynamic width */
.vd-layout-full,
.vd-wrapper,
.vd-travel-app,
.vd-app{
 width:100%!important;
 max-width:none!important;
 margin-left:auto;
 margin-right:auto;
}
.vd-layout-contained{
 max-width:1280px!important;
 margin:0 auto!important;
}
@media (min-width:1025px){
.vd-filters{display:flex!important;flex-wrap:wrap;gap:16px;align-items:end}
.vd-filters>*{flex:1 1 180px;min-width:160px}
.vd-filters .vd-reset{flex:0 0 auto}
}
@media (max-width:1024px){
.vd-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:767px){
.vd-filters{grid-template-columns:1fr}
}


/* =====================================================================
   V1.6.9 - Largeur dynamique + grille responsive premium
   ---------------------------------------------------------------------
   Ces règles permettent au shortcode de suivre la largeur Elementor/thème
   ou de forcer pleine largeur/centrée/personnalisée depuis les réglages.
   ===================================================================== */
.conteneur.voyages-conteneur{
  width:100% !important;
  box-sizing:border-box !important;
}
.conteneur.voyages-conteneur.vd-layout-theme{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.conteneur.voyages-conteneur.vd-layout-contained{
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.conteneur.voyages-conteneur.vd-layout-custom{
  max-width:var(--vd-section-custom-width,1280px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.conteneur.voyages-conteneur.vd-layout-full{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
/* Sécurité pour Elementor full width : pas de débordement horizontal inutile. */
html, body { overflow-x: clip; }

.voyages-conteneur .grille-voyages{
  display:grid !important;
  grid-template-columns:repeat(var(--vd-cards-per-row,3), minmax(0,1fr)) !important;
  gap:var(--vd-card-gap,24px) !important;
  align-items:start !important;
}
@media (max-width:1024px){
  .voyages-conteneur .grille-voyages{
    grid-template-columns:repeat(var(--vd-cards-per-row-tablet,2), minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  .voyages-conteneur .grille-voyages{
    grid-template-columns:repeat(var(--vd-cards-per-row-mobile,1), minmax(0,1fr)) !important;
  }
}

/* Filtres : une ligne si l'espace existe, retour propre sinon. */
.voyages-conteneur .filtres-wrapper{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:16px !important;
  width:100% !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ{
  flex:1 1 170px !important;
  min-width:160px !important;
}
.voyages-conteneur .filtres-wrapper .filtre-champ:first-child{
  flex:1.35 1 220px !important;
}
.voyages-conteneur .filtres-wrapper .btn-reinitialiser{
  flex:0 0 auto !important;
  min-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}
@media (max-width:900px){
  .voyages-conteneur .filtres-wrapper .filtre-champ,
  .voyages-conteneur .filtres-wrapper .filtre-champ:first-child{
    flex:1 1 calc(50% - 16px) !important;
    min-width:220px !important;
  }
  .voyages-conteneur .filtres-wrapper .btn-reinitialiser{
    flex:1 1 calc(50% - 16px) !important;
  }
}
@media (max-width:560px){
  .voyages-conteneur .filtres-wrapper .filtre-champ,
  .voyages-conteneur .filtres-wrapper .filtre-champ:first-child,
  .voyages-conteneur .filtres-wrapper .btn-reinitialiser{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}

/* v20 - Bouton Rechercher dans les filtres */
.filtres-wrapper .btn-rechercher{
  appearance:none;
  border:0;
  background:var(--couleur-primaire,#d16830);
  color:#fff;
  border-radius:14px;
  padding:12px 18px;
  min-height:46px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  align-self:end;
  box-shadow:0 8px 18px rgba(209,104,48,.18);
}
.filtres-wrapper .btn-rechercher:hover{
  background:var(--couleur-primaire-hover,#b85a28);
}
@media (max-width: 767px){
  .filtres-wrapper .btn-rechercher,
  .filtres-wrapper .btn-reinitialiser{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* v2.1.0 - Badge Dernière minute : utilise la couleur principale sans modifier les autres fonctionnalités */
.voyages-conteneur .vd-card-vertical .badge-type[data-type="derniere_minute"],
.voyages-conteneur .badge-type[data-type="derniere_minute"]{
	background: var(--couleur-primaire) !important;
	color:#fff !important;
}

/* v22 - module expiration/complet */
.voyages-conteneur .vd-card-vertical.vd-voyage-complet .carte-photo{
  position:relative;
}
.voyages-conteneur .vd-card-vertical .badge-complet-overlay{
  position:absolute;
  inset:0;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(1.5px);
  pointer-events:none;
}
.voyages-conteneur .vd-card-vertical .badge-complet-overlay span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  max-width:82%;
  padding:14px 22px;
  border-radius:999px;
  background:var(--couleur-complet-bg,#d16830);
  color:var(--couleur-complet-texte,#fff);
  font-weight:900;
  font-size:clamp(18px,2.2vw,28px);
  line-height:1.1;
  letter-spacing:.02em;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
  text-transform:uppercase;
}
.voyages-conteneur .panneau-complet{
  margin:14px 0;
  padding:14px 16px;
  border-radius:14px;
  background:var(--couleur-complet-bg,#d16830);
  color:var(--couleur-complet-texte,#fff);
  font-weight:900;
  text-align:center;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
@media (max-width:767px){
  .voyages-conteneur .vd-card-vertical .badge-complet-overlay span{
    padding:11px 16px;
    font-size:18px;
  }
}

/* v23 - Date d'expiration visible sur les cartes */
.voyages-conteneur .vd-card-vertical .carte-expiration-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:0 0 8px;
  padding:5px 9px;
  border-radius:999px;
  background:#faf6f1;
  color:#1f2937;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  border:1px solid #eadfd5;
}
.voyages-conteneur .vd-card-vertical .carte-expiration-date strong{
  color:var(--couleur-primaire,#d16830);
  font-weight:900;
}
.voyages-conteneur .vd-card-vertical .carte-expiration-date .vd-exp-icon{
  font-size:12px;
  line-height:1;
}
.voyages-conteneur .vd-card-vertical .carte-expiration-date.is-expired{
  background:var(--couleur-complet-bg,#d16830);
  border-color:var(--couleur-complet-bg,#d16830);
  color:var(--couleur-complet-texte,#fff);
}
.voyages-conteneur .vd-card-vertical .carte-expiration-date.is-expired strong{
  color:var(--couleur-complet-texte,#fff);
}
@media (max-width: 480px){
  .voyages-conteneur .vd-card-vertical .carte-expiration-date{
    font-size:11px;
    padding:4px 8px;
  }
}


/* v25 - sécurité affichage vendu/complet sur toutes les cartes, incluant accueil/Elementor */
.voyages-conteneur .carte-voyage[data-vendu="1"] .carte-photo,
.carte-voyage[data-vendu="1"] .carte-photo{
  position:relative !important;
}
.voyages-conteneur .carte-voyage[data-vendu="1"] .badge-complet-overlay,
.carte-voyage[data-vendu="1"] .badge-complet-overlay{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* v27 - Voyage complet : formulaire réservation en lecture seule */
#modal-reservation.voyage-est-complet .form-reservation{
  position: relative;
}
#modal-reservation .reservation-complet-message{
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--couleur-complet-bg, #d16830);
  color: var(--couleur-complet-texte, #ffffff);
  border-radius: 16px;
  padding: 14px 16px;
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.35;
  box-shadow: 0 12px 24px rgba(0,0,0,.12);
}
#modal-reservation .reservation-complet-message strong{
  display: block;
  font-size: 17px;
  font-weight: 900;
  color: inherit;
}
#modal-reservation.voyage-est-complet .form-reservation input:not([type="hidden"]),
#modal-reservation.voyage-est-complet .form-reservation select,
#modal-reservation.voyage-est-complet .form-reservation textarea{
  background: #eeeeee !important;
  color: #8a8a8a !important;
  border-color: #d7d7d7 !important;
  cursor: not-allowed !important;
  opacity: .78;
}
#modal-reservation.voyage-est-complet .form-reservation input[type="radio"],
#modal-reservation.voyage-est-complet .form-reservation input[type="checkbox"]{
  accent-color: #9ca3af;
}
#modal-reservation.voyage-est-complet .form-reservation button:not(.modal-fermer),
#modal-reservation.voyage-est-complet .form-reservation .btn-ajouter-voyageur,
#modal-reservation.voyage-est-complet .form-reservation .btn-retirer-voyageur{
  background: #9ca3af !important;
  border-color: #9ca3af !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  opacity: .85;
  box-shadow: none !important;
}
#modal-reservation.voyage-est-complet .option-chambre{
  background: #f4f4f4 !important;
  border-color: #dddddd !important;
  cursor: not-allowed !important;
  opacity: .82;
}
#modal-reservation.voyage-est-complet .option-chambre *{
  color: #777777 !important;
}

/* Constructeur de formulaire v2.8 */
.vd-reservation-builder-grid{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:flex-start}
.vd-reservation-builder-grid>.vd-builder-field{box-sizing:border-box;margin:0}
.vd-width-100{flex:0 0 100%;max-width:100%}
.vd-width-50{flex:0 0 calc(50% - 8px);max-width:calc(50% - 8px)}
.vd-width-33{flex:0 0 calc(33.333% - 11px);max-width:calc(33.333% - 11px)}
.vd-radio-group{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 0}
.vd-radio-group label{display:flex;align-items:center;gap:6px;color:#111827}
@media(max-width:767px){.vd-width-50,.vd-width-33{flex-basis:100%;max-width:100%}.vd-reservation-builder-grid{gap:12px}}

/* v3.0.2 — Correctif lisibilité dépôt et paiement final dans la modale Détails. */
#modal-detail .panneau-prix .panneau-prix-ligne strong,
#modal-detail .panneau-prix .panneau-prix-ligne span {
  color: #111827 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#modal-detail .panneau-prix .panneau-prix-ligne strong {
  text-align: right;
  font-weight: 800;
}
@media (max-width: 480px) {
  #modal-detail .panneau-prix .panneau-prix-ligne {
    gap: 10px;
    align-items: flex-start;
  }
  #modal-detail .panneau-prix .panneau-prix-ligne strong {
    max-width: 55%;
  }
}


/* v3.0.3 — tarifs de chambre visibles dans la fenêtre Détails */
#modal-detail .vd-chambres-titre {
  margin: 14px 0 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #667085;
}
#modal-detail .liste-chambres.ouvert {
  display: flex !important;
  margin-bottom: 14px;
}
#modal-detail .ligne-chambre {
  border: 1px solid #eadfd5;
  background: #faf6f1;
}
#modal-detail .ligne-chambre-prix strong {
  color: #d16830 !important;
}
@media (max-width: 520px) {
  #modal-detail .ligne-chambre { align-items: flex-start; gap: 10px; }
  #modal-detail .ligne-chambre-prix { min-width: 88px; }
}

/* v3.0.4 — image mise en avant et pourcentage de rabais */
.voyages-conteneur .vd-card-vertical .badge-rabais-pourcentage{position:absolute;top:14px;right:14px;z-index:8;min-width:62px;min-height:42px;padding:8px 11px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#d16830;color:#fff;font-weight:900;font-size:17px;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.voyages-conteneur .vd-card-vertical .badge-rabais-pourcentage.avec-ristourne{top:82px}
@media (max-width:767px){.voyages-conteneur .vd-card-vertical .badge-rabais-pourcentage{top:12px;right:12px;min-width:56px;min-height:38px;padding:7px 9px;font-size:15px}.voyages-conteneur .vd-card-vertical .badge-rabais-pourcentage.avec-ristourne{top:76px}}


/* v3.0.5 — recherche étendue et filtre par mois/année */
.filtres-wrapper input[type="month"] {
  min-width: 0;
  width: 100%;
  color: var(--couleur-filtre-texte, #182640);
  background: #fff;
}
.filtres-wrapper .btn-rechercher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .filtres-wrapper .btn-rechercher,
  .filtres-wrapper .btn-reinitialiser {
    width: 100%;
  }
}


/* v3.0.6 — sélecteurs séparés du mois et de l’année */
.filtres-wrapper .vd-mois-annee{display:grid;grid-template-columns:minmax(110px,1fr) minmax(95px,.8fr);gap:8px;width:100%}
.filtres-wrapper .vd-mois-annee select{width:100%;min-width:0;color:var(--couleur-filtre-texte,#182640);background:#fff}
@media(max-width:560px){.filtres-wrapper .vd-mois-annee{grid-template-columns:1fr 1fr}}

/* v3.0.7 — lisibilité des noms et informations des types de chambre dans Détails */
#modal-detail .panneau-prix .liste-chambres .ligne-chambre,
#modal-detail .panneau-prix .liste-chambres .ligne-chambre > div,
#modal-detail .panneau-prix .liste-chambres .ligne-chambre strong,
#modal-detail .panneau-prix .liste-chambres .ligne-chambre h3,
#modal-detail .panneau-prix .liste-chambres .ligne-chambre h4 {
  color: #182640 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
#modal-detail .panneau-prix .liste-chambres .ligne-chambre > div:first-child > strong {
  display: block;
  color: #182640 !important;
  font-weight: 800 !important;
}
#modal-detail .panneau-prix .liste-chambres .ligne-chambre > div:first-child > span,
#modal-detail .panneau-prix .liste-chambres .ligne-chambre small {
  display: block;
  color: #667085 !important;
  opacity: 1 !important;
}
#modal-detail .panneau-prix .liste-chambres .ligne-chambre-prix strong {
  color: #d16830 !important;
}
#modal-detail .panneau-prix .liste-chambres .ligne-chambre-prix span {
  color: #667085 !important;
}

/* v3.0.9 — correctif responsive uniquement pour la fenêtre Détails */
#modal-detail .modal-box {
  width: min(1440px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

#modal-detail #contenu-detail,
#modal-detail .detail-grille {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#modal-detail .detail-grille {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
  gap: 24px !important;
}

#modal-detail .detail-colonne-gauche,
#modal-detail .detail-colonne-droite {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#modal-detail .detail-galerie {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

#modal-detail img {
  display: block !important;
  max-width: 100% !important;
  height: auto;
}

#modal-detail *,
#modal-detail *::before,
#modal-detail *::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  #modal-detail .detail-grille {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-detail .detail-colonne-droite {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  #modal-detail .modal-box {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    margin: 0 !important;
  }

  #modal-detail .detail-grille {
    gap: 14px !important;
  }
}
