/* DPM Conciergerie — charte : vert #14352A, or #C9A227, crème #FBFAF6 */
.dpm{
  --dpm-vert:#14352A;--dpm-or:#C9A227;--dpm-creme:#FBFAF6;--dpm-sable:#EFE9DC;
  --dpm-gris:#6E7A72;--dpm-display:"Cormorant Garamond",Garamond,serif;
  font-family:Arial,Helvetica,sans-serif;color:#22302A;
}
.dpm h3{font-family:var(--dpm-display);font-weight:400;font-size:1.32rem;margin:0 0 14px}
.dpm-note{font-size:.8rem;color:var(--dpm-gris)}

/* Filtres */
.dpm-filtres{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end;padding-bottom:26px;border-bottom:1px solid rgba(20,53,42,.15)}
.dpm-filtres label{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dpm-gris);margin-bottom:7px}
.dpm-filtres select{padding:11px 14px;border:1px solid rgba(20,53,42,.22);background:var(--dpm-creme);font-size:.9rem;border-radius:0;min-width:170px}
.dpm-compteur{margin-left:auto;font-size:.85rem;color:var(--dpm-gris);padding-bottom:11px}

/* Catalogue */
.dpm-biens{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:46px}
.dpm-bien{display:block;text-decoration:none;color:inherit}
.dpm-bien.masque{display:none}
.dpm-media{display:block;position:relative;overflow:hidden;background:var(--dpm-sable);aspect-ratio:4/3}
.dpm-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.dpm-bien:hover .dpm-media img{transform:scale(1.04)}
.dpm-etiq{position:absolute;top:14px;left:14px;z-index:2;background:rgba(20,53,42,.9);color:var(--dpm-creme);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 11px}
.dpm-lieu{display:block;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dpm-or);margin-top:16px}
.dpm-bien h3{margin:8px 0 0}
.dpm-meta{display:block;font-size:.9rem;color:var(--dpm-gris);margin-top:10px}
.dpm-prix{display:block;font-family:var(--dpm-display);font-size:1.15rem;margin-top:12px;padding-top:12px;border-top:1px solid rgba(20,53,42,.15)}
.dpm-prix small{font-family:inherit;font-size:.75rem;color:var(--dpm-gris)}

/* Fiche */
.dpm-chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(20,53,42,.18);border-bottom:1px solid rgba(20,53,42,.18);margin:34px 0}
.dpm-chiffres div{padding:22px 20px;border-right:1px solid rgba(20,53,42,.12)}
.dpm-chiffres div:last-child{border-right:0}
.dpm-chiffres .dpm-v{font-family:var(--dpm-display);font-size:1.6rem;display:block}
.dpm-chiffres .dpm-l{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dpm-gris)}
.dpm-fiche{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start}
.dpm-bloc{margin-bottom:42px}
.dpm-equip{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;list-style:none;padding:0;margin:0}
.dpm-equip li{padding:9px 0 9px 22px;position:relative;font-size:.93rem;border-bottom:1px solid rgba(20,53,42,.1)}
.dpm-equip li:before{content:"";position:absolute;left:0;top:18px;width:9px;height:1px;background:var(--dpm-or)}
.dpm-tarifs{width:100%;border-collapse:collapse;font-size:.92rem}
.dpm-tarifs th,.dpm-tarifs td{text-align:left;padding:12px 8px;border-bottom:1px solid rgba(20,53,42,.13)}
.dpm-tarifs th{font-weight:400;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dpm-gris)}
.dpm-tarifs td:last-child,.dpm-tarifs th:last-child{text-align:right}
.dpm-encart{background:var(--dpm-sable);padding:30px;position:sticky;top:100px}
.dpm-ligne{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(20,53,42,.13);font-size:.9rem}
.dpm-ligne span:first-child{color:var(--dpm-gris)}
.dpm-btn{display:block;text-align:center;margin-top:22px;padding:14px 26px;background:var(--dpm-or);border:1px solid var(--dpm-or);color:var(--dpm-vert);text-decoration:none;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.dpm-btn:hover{background:#d8b13a;color:var(--dpm-vert)}

/* Calendrier */
.dpm-cal-tete{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 22px}
.dpm-cal-tete .dpm-titre{font-family:var(--dpm-display);font-size:1.1rem}
.dpm-cal-nav{display:flex;gap:8px}
.dpm-cal-nav button{background:none;border:1px solid rgba(20,53,42,.22);width:38px;height:38px;cursor:pointer;font-size:1rem;color:var(--dpm-vert);line-height:1}
.dpm-cal-nav button:hover:not(:disabled){background:var(--dpm-vert);color:var(--dpm-creme);border-color:var(--dpm-vert)}
.dpm-cal-nav button:disabled{opacity:.3;cursor:default}
.dpm-cal-mois{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.dpm-mois h4{font-family:var(--dpm-display);font-weight:400;font-size:1.02rem;text-align:center;margin:0 0 14px}
.dpm-jours{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dpm-jn{font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:var(--dpm-gris);text-align:center;padding-bottom:6px}
.dpm-j{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.8rem;border:1px solid rgba(20,53,42,.1);background:var(--dpm-creme)}
.dpm-j.vide{border:0;background:none}
.dpm-j .p{font-size:.55rem;color:var(--dpm-gris);margin-top:2px}
.dpm-j.occupe{background:var(--dpm-vert);color:rgba(251,250,246,.45);border-color:var(--dpm-vert)}
.dpm-j.passe{color:rgba(110,122,114,.35);background:rgba(20,53,42,.03)}
.dpm-j.min{box-shadow:inset 0 -3px 0 rgba(201,162,39,.7)}
.dpm-legende{display:flex;gap:20px;flex-wrap:wrap;font-size:.76rem;color:var(--dpm-gris);margin-top:18px}
.dpm-legende span{display:flex;align-items:center;gap:8px}
.dpm-pastille{width:13px;height:13px;display:inline-block;border:1px solid rgba(20,53,42,.15);background:var(--dpm-creme)}
.dpm-pastille.occ{background:var(--dpm-vert);border-color:var(--dpm-vert)}
.dpm-pastille.minsej{box-shadow:inset 0 -3px 0 rgba(201,162,39,.7)}
.dpm-etat{font-size:.75rem;color:var(--dpm-gris);margin-top:14px}

@media (max-width:900px){
  .dpm-biens,.dpm-fiche,.dpm-equip,.dpm-cal-mois{grid-template-columns:1fr;gap:34px}
  .dpm-equip{gap:0}
  .dpm-chiffres{grid-template-columns:1fr 1fr}
  .dpm-chiffres div:nth-child(2){border-right:0}
  .dpm-encart{position:static}
}

/* Galerie de la fiche, plans et sous-titres d'équipements */
.dpm-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin-bottom:34px;height:520px}
.dpm-photos .dpm-media{height:100%;aspect-ratio:auto}
.dpm-photos .dpm-media:first-child{grid-row:1/3}
.dpm-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dpm-plans .dpm-media{aspect-ratio:4/3;background:var(--dpm-creme)}
.dpm-plans .dpm-media img{object-fit:contain}
.dpm-bloc h4{font-family:var(--dpm-display);font-weight:400;font-size:1rem;margin:20px 0 6px;color:var(--dpm-gris)}
.dpm-bloc h4:first-of-type{margin-top:6px}
@media (max-width:900px){
  .dpm-photos{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .dpm-photos .dpm-media{grid-row:auto!important;aspect-ratio:3/2}
  .dpm-plans{grid-template-columns:1fr}
}

/* ---------- Sélection des dates ---------- */
.dpm-j.libre{cursor:pointer;transition:background .15s ease}
.dpm-j.libre:hover{background:var(--dpm-sable)}
.dpm-j.choisi{background:var(--dpm-or);border-color:var(--dpm-or);color:var(--dpm-vert);font-weight:bold}
.dpm-j.choisi .p{color:var(--dpm-vert)}
.dpm-j.entre{background:rgba(201,162,39,.22);border-color:rgba(201,162,39,.35)}
.dpm-recap{margin-top:18px;padding-top:16px;border-top:1px solid rgba(20,53,42,.15)}
.dpm-sejour{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:12px}
.dpm-sejour span{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dpm-gris);margin-bottom:4px}
.dpm-sejour strong{font-family:var(--dpm-display);font-size:1.15rem;font-weight:400;color:var(--dpm-vert)}
.dpm-alerte{color:#8a5a00;background:var(--dpm-sable);padding:12px 14px;font-size:.9rem;margin:0 0 12px}
.dpm-effacer{background:none;border:0;padding:10px 0 0;cursor:pointer;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dpm-gris);display:block}
.dpm-effacer:hover{color:var(--dpm-vert)}
.dpm-recap .dpm-btn{max-width:340px;text-align:center}

/* ---------- Prestations en option ---------- */
.dpm-rythme{color:var(--dpm-gris);font-style:italic}
.dpm-nb-ligne{font-size:.85rem;color:var(--dpm-gris)}
.dpm-nb-ligne select{margin-left:8px;padding:8px 10px;border:1px solid rgba(20,53,42,.22);background:var(--dpm-creme);border-radius:0}
.dpm-option{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(20,53,42,.12);cursor:pointer}
.dpm-option:hover{background:rgba(239,233,220,.4)}
.dpm-option input{width:17px;height:17px;accent-color:#C9A227;margin:0}
.dpm-opt-nom{font-size:.97rem}
.dpm-opt-prix{font-family:var(--dpm-display);font-size:1.1rem;color:var(--dpm-vert);white-space:nowrap}
.dpm-opt-prix small{font-family:var(--dpm-corps);font-size:.7rem;color:var(--dpm-gris)}
.dpm-total{margin-top:18px}
.dpm-total .dpm-ligne{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(20,53,42,.12);font-size:.93rem}
.dpm-total .dpm-somme{border-bottom:0;border-top:1px solid var(--dpm-or);margin-top:6px;padding-top:14px}
.dpm-total .dpm-somme span{font-family:var(--dpm-display);font-size:1.3rem;color:var(--dpm-vert)}
@media (max-width:700px){.dpm-sejour{grid-template-columns:1fr 1fr}}
