/* ═══════════════════════════════════════════════════════════════
   LES ROCHES — Date Range Picker CSS  v2
   position: fixed — fonctionne dans TOUS les contextes de page
   (sticky sidebar, hero, scroll, etc.)
   ═══════════════════════════════════════════════════════════════ */

.lrp-calendar {
  position: fixed;          /* ← fixed = coordonnées viewport, toujours visible */
  z-index: 10000;           /* au-dessus de tout */
  background: #1e1b18;
  border: 1px solid rgba(250,247,242,.12);
  border-radius: 4px;
  box-shadow: 0 16px 56px rgba(0,0,0,.65);
  display: flex;
  flex-direction: column;
  font-family: 'Outfit', sans-serif;
  overflow: hidden;
  min-width: 560px;
}

.lrp-months {
  display: flex;
  gap: 0;
}

.lrp-month-pane {
  flex: 1;
  padding: .5rem .6rem .8rem;
}

.lrp-month-pane + .lrp-month-pane {
  border-left: 1px solid rgba(250,247,242,.06);
}

/* Header mois */
.lrp-month-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem .2rem .6rem;
}

.lrp-month-title {
  font-family: 'Gilda Display', serif;
  font-size: .92rem;
  color: rgba(250,247,242,.9);
  letter-spacing: .04em;
}

.lrp-nav {
  background: none;
  border: none;
  color: rgba(250,247,242,.45);
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0 .4rem;
  line-height: 1;
  transition: color .2s;
}
.lrp-nav:hover { color: rgba(250,247,242,.9); }

/* Jours de la semaine */
.lrp-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: .2rem;
}

.lrp-wd {
  text-align: center;
  font-size: .38rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(250,247,242,.3);
  padding: .3rem 0;
}

/* Grille des jours */
.lrp-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
}

.lrp-day {
  text-align: center;
  font-size: .62rem;
  color: rgba(250,247,242,.75);
  height: 36px;
  line-height: 36px;
  cursor: pointer;
  border-radius: 0;
  transition: background .15s, color .15s;
  user-select: none;
  -webkit-user-select: none;
}

.lrp-day.lrp-empty {
  cursor: default;
  pointer-events: none;
}

.lrp-day:not(.lrp-disabled):not(.lrp-empty):hover {
  background: rgba(184,115,74,.22);
  color: #faf7f2;
}

.lrp-day.lrp-today:not(.lrp-selected) {
  color: #b8734a;
  font-weight: 600;
}

/* Dates bloquées / passées */
.lrp-day.lrp-disabled {
  color: rgba(250,247,242,.18) !important;
  cursor: not-allowed;
  text-decoration: line-through;
  pointer-events: none;
}

/* Sélection */
.lrp-day.lrp-selected {
  background: #b8734a !important;
  color: #faf7f2 !important;
}

/* Plage entre les deux dates */
.lrp-day.lrp-inrange {
  background: rgba(184,115,74,.15);
  color: rgba(250,247,242,.9);
  box-shadow: -4px 0 0 rgba(184,115,74,.15), 4px 0 0 rgba(184,115,74,.15);
}

/* Pied de page */
.lrp-footer {
  padding: .5rem 1rem .6rem;
  border-top: 1px solid rgba(250,247,242,.06);
  display: flex;
  justify-content: flex-end;
}

.lrp-clear {
  font-family: 'Outfit', sans-serif;
  font-size: .5rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(250,247,242,.3);
  cursor: pointer;
  transition: color .2s;
}
.lrp-clear:hover { color: rgba(250,247,242,.7); }

/* Mobile — vue scrollable */
@media (max-width: 640px) {
  .lrp-calendar {
    min-width: unset;
    width: calc(100vw - 20px) !important;
    left: 10px !important;
    top: 10px !important;
    max-height: calc(100svh - 20px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .lrp-months { flex-direction: column; }
  .lrp-month-pane + .lrp-month-pane {
    border-left: none;
    border-top: 1px solid rgba(250,247,242,.06);
  }
  .lrp-day { height: 40px; line-height: 40px; font-size: .68rem; }
}
