/* Formulaire de réservation 2 — direction visuelle Listnova V4. */
:root{--ln-booking-v2-accent:var(--ln-v4-accent,var(--e-global-color-accent,#ff174f));--ln-booking-v2-ink:var(--e-global-color-text,var(--ln-front-text,#111827));--ln-booking-v2-muted:var(--ln-front-muted,#7b8492);--ln-booking-v2-line:var(--ln-front-border,#dfe3e8);--ln-booking-v2-soft:var(--ln-front-surface-soft,#fff6f8)}
html body .ln-booking-rail--v2 .ln-booking-rail__inner--v2{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body .ln-booking-form--v2{color:var(--ln-booking-v2-ink)!important}
html body .ln-booking-form--v2 .ln-booking-v2__card,html body .ln-booking-form--v2 .ln-booking-v2__flow,html body .ln-booking-form--v2 [data-ln-booking-review-step]{padding:24px!important;border:1px solid var(--ln-booking-v2-line)!important;border-radius:22px!important;background:var(--ln-front-surface,#fff)!important;box-shadow:0 18px 48px rgba(16,24,40,.09)!important}
html body .ln-booking-modal--v2 .ln-booking-form--v2 .ln-booking-v2__card,html body .ln-booking-modal--v2 .ln-booking-form--v2 .ln-booking-v2__flow,html body .ln-booking-modal--v2 .ln-booking-form--v2 [data-ln-booking-review-step]{box-shadow:none!important}
html body .ln-booking-v2__summary{margin:0 0 18px!important}.ln-booking-v2__price>span{color:var(--ln-front-muted,#697386)!important;font-size:.76rem!important;font-weight:680!important}.ln-booking-v2__price strong{color:var(--ln-front-text,#101828)!important;font-size:2.45rem!important;font-weight:900!important;line-height:.95!important;letter-spacing:-.065em!important}.ln-booking-v2__price small{color:var(--ln-front-muted,#667085)!important;font-size:.92rem!important;font-weight:650!important}.ln-booking-v2__rating{color:var(--ln-front-muted,#4b5563)!important;font-size:.86rem!important}.ln-booking-v2__rating i{color:var(--ln-booking-v2-accent)!important;font-size:1.05rem!important}
html body .ln-booking-v2__selectors{border-color:var(--ln-booking-v2-line)!important;border-radius:14px!important}.ln-booking-v2__selector{min-height:68px!important;padding:12px 43px 12px 14px!important;border-color:var(--ln-front-border,#e5e7eb)!important;color:var(--ln-front-muted,#344054)!important}.ln-booking-v2__selector:hover,.ln-booking-v2__selector[aria-expanded="true"]{background:var(--ln-front-surface,#fffafb)!important}.ln-booking-v2__selector[aria-expanded="true"]:after{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#ffb9c8;content:""}.ln-booking-v2__selector>span{color:var(--ln-front-muted,#7c8695)!important;font-size:.72rem!important;font-weight:720!important}.ln-booking-v2__selector>strong{font-size:.88rem!important;font-weight:800!important}.ln-booking-v2__selector>i{color:var(--ln-front-muted,#667085)!important;font-size:1.12rem!important}
html body .ln-booking-v2__popover{border-color:var(--ln-front-border,#e3e7ec)!important;border-radius:22px!important;box-shadow:0 28px 80px rgba(16,24,40,.18)!important}.ln-booking-v2__popover-head strong{font-size:1rem!important}.ln-booking-v2__popover-close{background:var(--ln-front-surface,#f7f8fa)!important;color:var(--ln-front-muted,#475467)!important}.ln-booking-v2__popover--dates{right:-2px!important}
/* Calendrier harmonisé : même palette, mêmes rayons et états que le formulaire 2. */
html body .ln-booking-form--v2 .ln-stay-calendar{padding:2px!important;border:0!important;border-radius:0!important;background:var(--ln-front-surface,#fff)!important;box-shadow:none!important}.ln-booking-form--v2 .ln-stay-calendar>header{grid-template-columns:40px 1fr 40px!important;margin-bottom:14px!important}.ln-booking-form--v2 .ln-stay-calendar>header strong{color:var(--ln-front-text,#1d2939)!important;font-size:.98rem!important;font-weight:850!important}.ln-booking-form--v2 .ln-stay-calendar>header button{width:38px!important;height:38px!important;border:1px solid var(--ln-front-border,#e4e7ec)!important;background:var(--ln-front-surface,#fff)!important;color:var(--ln-front-muted,#475467)!important;font-size:1.2rem!important}.ln-booking-form--v2 .ln-stay-calendar>header button:hover:not(:disabled){border-color:#f4a8b9!important;background:var(--ln-front-surface,#fff7f9)!important;color:var(--ln-booking-v2-accent)!important}.ln-booking-form--v2 .ln-stay-calendar__weekdays{margin-bottom:7px!important;gap:5px!important}.ln-booking-form--v2 .ln-stay-calendar__weekdays span{color:var(--ln-front-muted,#98a2b3)!important;font-size:.64rem!important;font-weight:800!important}.ln-booking-form--v2 .ln-stay-calendar__grid{gap:5px!important}.ln-booking-form--v2 .ln-stay-calendar__grid button{min-height:54px!important;aspect-ratio:auto!important;border:1px solid transparent!important;border-radius:12px!important;background:var(--ln-front-surface,#fff)!important;color:var(--ln-front-muted,#344054)!important;font-size:.76rem!important;font-weight:800!important;transition:.16s ease!important}.ln-booking-form--v2 .ln-stay-calendar__grid button:hover:not(:disabled){border-color:var(--ln-front-border,#ffd2dc)!important;background:var(--ln-front-surface,#fff7f9)!important;color:#d91547!important;transform:none!important}.ln-booking-form--v2 .ln-stay-calendar__grid button.is-in-range{border-color:var(--ln-front-border,#ffe1e8)!important;border-radius:12px!important;background:var(--ln-front-surface-soft,#fff1f4)!important;color:#b9143e!important}.ln-booking-form--v2 .ln-stay-calendar__grid button.is-selected,.ln-booking-form--v2 .ln-stay-calendar__grid button.is-end{border-color:var(--ln-booking-v2-accent)!important;background:var(--ln-booking-v2-accent)!important;color:#fff!important;box-shadow:0 7px 18px color-mix(in srgb,var(--ln-booking-v2-accent) 24%,transparent)!important}.ln-booking-form--v2 .ln-stay-calendar__grid button.is-today:not(.is-selected):after{bottom:5px!important;width:4px!important;height:4px!important;background:var(--ln-booking-v2-accent)!important}.ln-booking-form--v2 .ln-stay-calendar__grid button.is-unavailable,.ln-booking-form--v2 .ln-stay-calendar__grid button:disabled{border-color:var(--ln-front-border,#f2f4f7)!important;background:var(--ln-front-surface,#f9fafb)!important;color:#c2c7d0!important;text-decoration:none!important;opacity:1!important}.ln-booking-form--v2 .ln-stay-calendar__grid button.is-unavailable>span{text-decoration:line-through!important;text-decoration-thickness:1px!important}.ln-booking-form--v2 .ln-stay-calendar__price{color:inherit!important;font-size:9px!important;font-weight:730!important;opacity:.7!important}.ln-booking-form--v2 .ln-stay-calendar>footer{margin-top:13px!important;padding-top:12px!important;border-top-color:var(--ln-front-border,#edf0f3)!important}.ln-booking-form--v2 .ln-stay-calendar__legend{display:flex!important;gap:14px!important;color:var(--ln-front-muted,#7c8695)!important;font-size:.68rem!important}.ln-booking-form--v2 .ln-stay-calendar__legend span{display:inline-flex!important;align-items:center!important;gap:6px!important}.ln-booking-form--v2 .ln-stay-calendar__legend i{width:10px!important;height:10px!important;border-radius:3px!important}.ln-booking-form--v2 .ln-stay-calendar__legend .is-selection i{background:#ffcfda!important}.ln-booking-form--v2 .ln-stay-calendar__legend .is-unavailable i{background:var(--ln-front-surface-soft,#eef0f3)!important}.ln-booking-form--v2 .ln-stay-calendar>footer button{color:var(--ln-front-muted,#667085)!important;font-size:.7rem!important}
html body .ln-booking-v2__rules span{background:var(--ln-front-surface,#f7f8fa)!important;color:var(--ln-front-muted,#667085)!important}.ln-booking-v2__availability{font-size:.72rem!important}.ln-booking-v2__cta{min-height:58px!important;margin-top:16px!important;border-radius:13px!important;background:var(--ln-booking-v2-accent)!important;color:#fff!important;font-size:1rem!important;font-weight:850!important;box-shadow:0 13px 28px color-mix(in srgb,var(--ln-booking-v2-accent) 19%,transparent)!important}.ln-booking-v2__cta:hover{filter:brightness(.98)}.ln-booking-v2__cta.is-checking{cursor:wait!important}.ln-booking-v2__microcopy{color:var(--ln-front-muted,#818a99)!important;font-size:.76rem!important}.ln-booking-v2__microcopy i{font-size:.9rem!important}.ln-booking-v2__trust{margin-top:22px!important;padding-top:20px!important;border-top-color:var(--ln-front-border,#e7e9ed)!important}.ln-booking-v2__trust span{color:var(--ln-front-muted,#566171)!important;font-size:.83rem!important;font-weight:760!important}.ln-booking-v2__trust b{width:34px!important;height:34px!important;border-color:var(--ln-front-border,#e4e7ec)!important;border-radius:10px!important;background:var(--ln-front-surface-soft,#f2faf7)!important;color:var(--ln-front-muted,#60747a)!important;font-size:1rem!important}
html body .ln-booking-form--v2 .ln-booking-guests--composition{padding:0!important;border:0!important;background:var(--ln-front-surface,#fff)!important}.ln-booking-form--v2 .ln-booking-guests__head{padding-bottom:9px!important;border-bottom:1px solid var(--ln-front-border,#edf0f3)!important}.ln-booking-form--v2 .ln-booking-guest-row{padding:12px 0!important}.ln-booking-form--v2 .ln-booking-stepper--mini{border-color:var(--ln-front-border,#e4e7ec)!important}.ln-booking-form--v2 .ln-booking-stepper--mini button{color:var(--ln-front-muted,#475467)!important}.ln-booking-form--v2 .ln-booking-stepper--mini button:hover:not(:disabled){background:var(--ln-front-surface-soft,#fff2f5)!important;color:var(--ln-booking-v2-accent)!important}
html body .ln-booking-v2__flow-head h4{color:var(--ln-front-text,#101828)!important;font-size:1.3rem!important;letter-spacing:-.035em!important}.ln-booking-v2__flow-head p{margin:0!important;color:var(--ln-front-muted,#7b8492)!important;font-size:.78rem!important}.ln-booking-v2__back{border-color:var(--ln-front-border,#e4e7ec)!important;color:var(--ln-front-muted,#475467)!important;font-size:.74rem!important;font-weight:800!important}.ln-booking-form--v2 .ln-booking-extras-select{border-color:var(--ln-front-border,#e4e7ec)!important;background:var(--ln-front-surface,#fff)!important}.ln-booking-form--v2 .ln-booking-extra.is-selected{border-color:#ffc3d0!important;background:var(--ln-front-surface,#fff6f8)!important}.ln-booking-form--v2 .ln-booking-extra.is-selected .ln-booking-extra__toggle,.ln-booking-form--v2 .ln-booking-extra__required{border-color:var(--ln-booking-v2-accent)!important;background:var(--ln-booking-v2-accent)!important}.ln-booking-form--v2 .ln-button--review,.ln-booking-form--v2 .ln-booking-review-step__actions .ln-button{background:var(--ln-booking-v2-accent)!important;color:#fff!important}.ln-booking-form--v2 .ln-booking-review-policy>i,.ln-booking-form--v2 .ln-booking-payment-step>i{color:var(--ln-booking-v2-accent)!important}
html body .ln-booking-modal--v2 .ln-booking-modal__panel{width:min(96vw,820px)!important;border-radius:28px!important}.ln-booking-modal--v2 .ln-booking-modal__panel>header{padding:22px 26px 17px!important}.ln-booking-modal--v2 .ln-booking-modal__content{max-height:calc(92vh - 100px)!important;padding:22px 26px 28px!important}.ln-booking-modal--v2 .ln-booking-v2__popover--dates{position:relative!important;right:auto!important;top:auto!important;width:100%!important;margin-top:10px!important;box-shadow:0 16px 40px rgba(16,24,40,.10)!important}
@media(max-width:900px){html body .ln-single--fallback.ln-listing-v4 .ln-booking-rail--v2{display:none!important}}
@media(max-width:620px){html body .ln-booking-form--v2 .ln-booking-v2__card,html body .ln-booking-form--v2 .ln-booking-v2__flow,html body .ln-booking-form--v2 [data-ln-booking-review-step]{padding:19px!important;border-radius:20px!important}.ln-booking-v2__price strong{font-size:2.15rem!important}.ln-booking-v2__selector{min-height:64px!important}.ln-booking-v2__popover{left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;width:auto!important;max-height:80vh!important;border-radius:24px!important}.ln-booking-form--v2 .ln-stay-calendar__grid{gap:3px!important}.ln-booking-form--v2 .ln-stay-calendar__grid button{min-height:48px!important;border-radius:10px!important}.ln-booking-modal--v2 .ln-booking-modal__panel{width:100%!important;border-radius:26px 26px 0 0!important}.ln-booking-modal--v2 .ln-booking-modal__content{padding:16px!important}}
html body .ln-booking-modal--v2 .ln-booking-v2__popover--guests{position:relative!important;right:auto!important;top:auto!important;width:100%!important;margin-top:10px!important;box-shadow:0 16px 40px rgba(16,24,40,.10)!important}

/* 0.27.7 — Parité visuelle avec la carte de réservation V4 validée.
 * Le formulaire 2 conserve ses interactions propres, mais reprend exactement
 * les proportions du rail initial et neutralise le conteneur historique afin
 * d'éviter l'effet de « carte dans la carte ».
 */
html body .ln-single--fallback.ln-listing-v4 .ln-booking-rail--v2 .ln-booking-rail__inner--v2,
html body .ln-elementor-listing .ln-booking-rail--v2 .ln-booking-rail__inner--v2,
html body .ln-booking-rail--v2 > .ln-booking-rail__inner--v2{
  overflow:visible!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2,
html body .ln-booking-rail--v2 .ln-booking-form--v2,
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-booking-form__layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-booking-v2__card{
  width:100%!important;
  margin:0!important;
  padding:22px!important;
  border:1px solid var(--ln-v4-line,var(--ln-booking-v2-line))!important;
  border-radius:17px!important;
  background:var(--ln-front-surface,#fff)!important;
  box-shadow:0 16px 44px rgba(16,24,40,.09)!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__summary{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 15px!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__price{
  display:flex!important;
  min-width:0!important;
  align-items:baseline!important;
  flex:1 1 auto!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__price>span{
  width:100%!important;
  margin:0!important;
  color:var(--ln-front-muted,#697386)!important;
  font-size:.68rem!important;
  font-weight:620!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__price>strong{
  color:var(--ln-front-text,#111827)!important;
  font-size:2rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  white-space:nowrap!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__price>small{
  color:var(--ln-front-muted,#667085)!important;
  font-size:.72rem!important;
  font-weight:600!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__rating{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  gap:4px!important;
  padding-bottom:2px!important;
  color:var(--ln-front-text,#444d5b)!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__rating i{
  color:var(--ln-booking-v2-accent)!important;
  font-size:.82rem!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selectors{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  overflow:hidden!important;
  border:1px solid var(--ln-front-border,#dfe3e8)!important;
  border-radius:10px!important;
  background:var(--ln-front-surface,#fff)!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector{
  position:relative!important;
  display:flex!important;
  min-width:0!important;
  min-height:58px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  padding:9px 34px 9px 12px!important;
  border:0!important;
  border-right:1px solid var(--ln-front-border,#e5e7eb)!important;
  border-bottom:1px solid var(--ln-front-border,#e5e7eb)!important;
  border-radius:0!important;
  background:var(--ln-front-surface,#fff)!important;
  color:var(--ln-front-text,#3f4856)!important;
  text-align:left!important;
  box-shadow:none!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector:nth-child(2){border-right:0!important}
html body .ln-booking-rail--v2 .ln-booking-v2__selector--guests{
  grid-column:1/-1!important;
  min-height:55px!important;
  border-right:0!important;
  border-bottom:0!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector:hover,
html body .ln-booking-rail--v2 .ln-booking-v2__selector[aria-expanded="true"]{
  background:var(--ln-front-surface,#fffafb)!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector[aria-expanded="true"]:after{
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:3px!important;
  background:#ffb9c8!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector>span{
  color:var(--ln-front-muted,#7b8492)!important;
  font-size:.59rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector>strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:var(--ln-front-text,#3f4856)!important;
  font-size:.69rem!important;
  font-weight:710!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector>i{
  right:12px!important;
  color:var(--ln-front-muted,#667085)!important;
  font-size:.9rem!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__cta{
  width:100%!important;
  min-height:48px!important;
  margin:12px 0 0!important;
  padding:0 18px!important;
  border-radius:9px!important;
  background:var(--ln-booking-v2-accent)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--ln-booking-v2-accent) 20%,transparent)!important;
  color:#fff!important;
  font-size:.75rem!important;
  font-weight:800!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__microcopy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:8px 0 0!important;
  color:var(--ln-front-muted,#77808e)!important;
  font-size:.63rem!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__microcopy i{font-size:.76rem!important}
html body .ln-booking-rail--v2 .ln-booking-v2__trust{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin:14px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid var(--ln-front-border,#eceef1)!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__trust span{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  color:var(--ln-front-muted,#525c6a)!important;
  font-size:.68rem!important;
  font-weight:700!important;
  line-height:1.35!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__trust b{
  display:grid!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  place-items:center!important;
  border:1px solid var(--ln-front-border,#e1e5ea)!important;
  border-radius:6px!important;
  background:var(--ln-front-surface-soft,#f5faf8)!important;
  color:var(--ln-front-muted,#52606f)!important;
  font-size:.7rem!important;
}

/* Calendrier V2 : densité et langage visuel alignés sur la carte restaurée. */
html body .ln-booking-rail--v2 .ln-booking-v2__popover--dates{
  width:min(560px,calc(100vw - 32px))!important;
  padding:16px!important;
  border:1px solid var(--ln-front-border,#e3e7ec)!important;
  border-radius:18px!important;
  background:var(--ln-front-surface,#fff)!important;
  box-shadow:0 24px 64px rgba(16,24,40,.16)!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__popover--guests{
  width:min(390px,calc(100vw - 32px))!important;
  padding:16px!important;
  border-radius:18px!important;
}
html body .ln-booking-rail--v2 .ln-booking-v2__popover-head{margin-bottom:12px!important}
html body .ln-booking-rail--v2 .ln-booking-v2__popover-head strong{font-size:.86rem!important;color:var(--ln-front-muted,#344054)!important}
html body .ln-booking-rail--v2 .ln-booking-v2__popover-close{width:32px!important;height:32px!important}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar>header{
  grid-template-columns:36px 1fr 36px!important;
  margin-bottom:12px!important;
}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar>header button{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
  font-size:1rem!important;
}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar>header strong{font-size:.88rem!important}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar__weekdays{gap:4px!important;margin-bottom:6px!important}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar__grid{gap:4px!important}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar__grid button{
  min-height:46px!important;
  border-radius:10px!important;
  font-size:.7rem!important;
}
html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-stay-calendar__price{font-size:8px!important}

/* Le parcours en modale garde davantage d'espace : on ne lui applique pas la densité du rail. */
html body .ln-booking-modal--v2 .ln-booking-form--v2 .ln-booking-v2__card{
  padding:24px!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
html body .ln-booking-modal--v2 .ln-booking-v2__price>strong{font-size:2.45rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__selector{min-height:68px!important;padding:12px 43px 12px 14px!important}
html body .ln-booking-modal--v2 .ln-booking-v2__selector>span{font-size:.72rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__selector>strong{font-size:.88rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__selector>i{right:14px!important;font-size:1.12rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__cta{min-height:58px!important;margin-top:16px!important;border-radius:13px!important;font-size:1rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__microcopy{margin-top:11px!important;font-size:.76rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__trust{gap:13px!important;margin-top:22px!important;padding-top:20px!important}
html body .ln-booking-modal--v2 .ln-booking-v2__trust span{font-size:.83rem!important}
html body .ln-booking-modal--v2 .ln-booking-v2__trust b{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:10px!important;font-size:1rem!important}

@media(max-width:620px){
  html body .ln-booking-rail--v2 .ln-booking-form--v2 .ln-booking-v2__card{padding:19px!important;border-radius:16px!important}
  html body .ln-booking-form--v2 .ln-booking-v2__popover--dates,
  html body .ln-booking-form--v2 .ln-booking-v2__popover--guests{
    position:fixed!important;
    z-index:1002!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:12px!important;
    width:auto!important;
    max-height:80vh!important;
    overflow:auto!important;
    border-radius:22px!important;
  }
}

/* 0.27.8 — largeur du rail + interaction V2 stabilisée. */
@media(min-width:1121px){
  html body .ln-single--fallback.ln-listing-v4 .ln-listing-stage--booking-v2{
    grid-template-columns:minmax(0,1fr) 390px!important;
  }
}
@media(min-width:901px) and (max-width:1120px){
  html body .ln-single--fallback.ln-listing-v4 .ln-listing-stage--booking-v2{
    grid-template-columns:minmax(0,1fr) 350px!important;
  }
}
@media(min-width:821px){
  html body .ln-elementor-listing .ln-listing-premium>.e-con-inner:has(.ln-booking-rail--v2){
    grid-template-columns:minmax(0,1fr) 390px!important;
  }
  html body .ln-elementor-listing .ln-listing-layout .ln-booking-rail.ln-booking-rail--v2{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}
html body .ln-booking-rail--v2 .ln-booking-v2__selector>strong{
  padding-right:2px!important;
}
@media(min-width:350px){
  html body .ln-booking-rail--v2 .ln-booking-v2__selector>strong{
    font-size:.72rem!important;
  }
}

/* 0.27.10 — le positionnement des popovers V2 est piloté par le JS afin d'éviter les conflits Elementor. */
html body .ln-booking-form--v2 .ln-booking-v2__popover.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}

/* 0.27.11 — popovers V2 compacts, ancrés et cohérents avec le rail. */
@media(min-width:621px){
  html body .ln-booking-form--v2 .ln-booking-v2__popover{
    padding:14px!important;
    border:1px solid var(--ln-front-border,#e5e8ec)!important;
    border-radius:16px!important;
    background:var(--ln-front-surface,#fff)!important;
    box-shadow:0 18px 48px rgba(16,24,40,.16)!important;
    transform-origin:top center!important;
    overflow:visible!important;
  }
  html body .ln-booking-form--v2 .ln-booking-v2__popover.is-above{transform-origin:bottom center!important}
  html body .ln-booking-form--v2 .ln-booking-v2__popover::before{
    position:absolute!important;
    top:-6px!important;
    left:calc(var(--ln-popover-arrow-x,50%) - 6px)!important;
    width:12px!important;
    height:12px!important;
    border-left:1px solid var(--ln-front-border,#e5e8ec)!important;
    border-top:1px solid var(--ln-front-border,#e5e8ec)!important;
    background:var(--ln-front-surface,#fff)!important;
    content:""!important;
    transform:rotate(45deg)!important;
  }
  html body .ln-booking-form--v2 .ln-booking-v2__popover.is-above::before{
    top:auto!important;
    bottom:-6px!important;
    border:0!important;
    border-right:1px solid var(--ln-front-border,#e5e8ec)!important;
    border-bottom:1px solid var(--ln-front-border,#e5e8ec)!important;
  }
}
html body .ln-booking-form--v2 .ln-booking-v2__popover-head{
  min-height:34px!important;
  margin:0 0 10px!important;
  padding:0!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover-title{gap:1px!important}
html body .ln-booking-form--v2 .ln-booking-v2__popover-title>strong{
  color:var(--ln-front-text,#1f2937)!important;
  font-size:.82rem!important;
  font-weight:820!important;
  line-height:1.25!important;
  letter-spacing:-.015em!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover-title>span{
  color:var(--ln-front-muted,#8a94a3)!important;
  font-size:.58rem!important;
  font-weight:620!important;
  line-height:1.35!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover-close{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border:1px solid var(--ln-front-border,#edf0f3)!important;
  border-radius:9px!important;
  background:var(--ln-front-surface,#f8f9fb)!important;
  color:var(--ln-front-muted,#667085)!important;
  font-size:.86rem!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover-close:hover{
  border-color:var(--ln-front-border,#e1e5ea)!important;
  background:var(--ln-front-surface-soft,#f2f4f7)!important;
  color:var(--ln-front-muted,#344054)!important;
}

/* Mini parcours arrivée -> départ au-dessus du mois. */
html body .ln-booking-form--v2 .ln-booking-v2__date-progress{
  margin:0 0 11px!important;
  padding:4px!important;
  border:1px solid var(--ln-front-border,#edf0f3)!important;
  border-radius:12px!important;
  background:var(--ln-front-surface,#f8f9fb)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button{
  min-height:43px!important;
  padding:7px 9px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button small{
  color:var(--ln-front-muted,#98a2b3)!important;
  font-size:.52rem!important;
  font-weight:760!important;
  line-height:1.2!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button strong{
  color:var(--ln-front-muted,#475467)!important;
  font-size:.68rem!important;
  font-weight:790!important;
  line-height:1.25!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button.is-active{
  border-color:#ffc9d5!important;
  background:var(--ln-front-surface,#fff)!important;
  box-shadow:0 2px 9px rgba(16,24,40,.05)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button.is-active small,
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button.is-active strong{color:var(--ln-booking-v2-accent)!important}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button.is-complete:not(.is-active) strong{color:var(--ln-front-muted,#344054)!important}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>i{color:#c4cbd4!important;font-size:.72rem!important}

/* Calendrier 1 mois, plus dense et lisible dans la largeur exacte du formulaire. */
html body .ln-booking-form--v2 .ln-booking-v2__calendar{padding:0!important}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar{
  padding:0!important;
  border:0!important;
  background:var(--ln-front-surface,#fff)!important;
  box-shadow:none!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>header{
  grid-template-columns:32px 1fr 32px!important;
  gap:7px!important;
  margin:0 0 9px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>header button{
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  border:1px solid var(--ln-front-border,#e8ebef)!important;
  border-radius:9px!important;
  background:var(--ln-front-surface,#fff)!important;
  color:var(--ln-front-muted,#667085)!important;
  font-size:.92rem!important;
  box-shadow:none!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>header button:hover:not(:disabled){
  border-color:#ffc6d3!important;
  background:var(--ln-front-surface,#fff7f9)!important;
  color:var(--ln-booking-v2-accent)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>header strong{
  color:var(--ln-front-text,#263142)!important;
  font-size:.78rem!important;
  font-weight:830!important;
  text-transform:capitalize!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__weekdays{
  gap:3px!important;
  margin:0 0 4px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__weekdays span{
  color:var(--ln-front-muted,#a0a8b5)!important;
  font-size:.51rem!important;
  font-weight:800!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid{gap:3px!important}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button{
  min-height:40px!important;
  padding:3px 1px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:var(--ln-front-surface,#fff)!important;
  color:var(--ln-front-muted,#344054)!important;
  font-size:.63rem!important;
  font-weight:790!important;
  gap:1px!important;
  box-shadow:none!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button:hover:not(:disabled){
  border-color:var(--ln-front-border,#ffd6df)!important;
  background:var(--ln-front-surface,#fff7f9)!important;
  color:#c91847!important;
  transform:none!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button.is-in-range{
  border-color:var(--ln-front-border,#ffe5eb)!important;
  background:var(--ln-front-surface-soft,#fff2f5)!important;
  color:#a8143b!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button.is-selected,
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button.is-end{
  border-color:var(--ln-booking-v2-accent)!important;
  background:var(--ln-booking-v2-accent)!important;
  color:#fff!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--ln-booking-v2-accent) 20%,transparent)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button.is-unavailable,
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button:disabled{
  border-color:var(--ln-front-border,#f0f2f4)!important;
  background:var(--ln-front-surface,#f8f9fa)!important;
  color:#b8c0ca!important;
  box-shadow:none!important;
  opacity:1!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button.is-unavailable:disabled::before{
  width:42%!important;
  height:1px!important;
  background:#c7cdd5!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__price{
  max-width:100%!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:7px!important;
  font-weight:690!important;
  line-height:1!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  opacity:.66!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>footer{
  gap:8px!important;
  margin:9px 0 0!important;
  padding:9px 0 0!important;
  border-top:1px solid var(--ln-front-border,#edf0f3)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__legend{
  gap:7px 10px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__legend span{
  color:var(--ln-front-muted,#8a94a3)!important;
  font-size:.52rem!important;
  font-weight:690!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__legend span i{
  width:8px!important;
  height:8px!important;
  border-radius:3px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar>footer button{
  color:var(--ln-front-muted,#667085)!important;
  font-size:.54rem!important;
  font-weight:760!important;
  text-underline-offset:2px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__rules{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  margin:9px -2px -1px!important;
  padding:0 2px 2px!important;
  overflow-x:auto!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-width:none!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__rules::-webkit-scrollbar{display:none!important}
html body .ln-booking-form--v2 .ln-booking-v2__rules span{
  flex:0 0 auto!important;
  padding:5px 7px!important;
  border:1px solid var(--ln-front-border,#edf0f3)!important;
  border-radius:999px!important;
  background:var(--ln-front-surface,#f8f9fb)!important;
  color:var(--ln-front-muted,#7b8492)!important;
  font-size:.49rem!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

/* Voyageurs : moins de "bloc technique", lignes aérées et commandes tactiles fines. */
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guests--composition{
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--ln-front-surface,#fff)!important;
  overflow:visible!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guests__head{display:none!important}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row{
  min-height:57px!important;
  padding:10px 1px!important;
  border:0!important;
  border-top:1px solid var(--ln-front-border,#f0f2f4)!important;
  gap:12px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row:first-of-type{border-top:0!important}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row__label{gap:9px!important}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row__label>span{
  display:grid!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  place-items:center!important;
  border:1px solid var(--ln-front-border,#e7ece9)!important;
  border-radius:9px!important;
  background:var(--ln-front-surface-soft,#f4faf7)!important;
  color:var(--ln-front-muted,#526d64)!important;
  font-size:.78rem!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row__label>div{gap:1px!important}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row__label strong{
  color:var(--ln-front-muted,#344054)!important;
  font-size:.68rem!important;
  font-weight:780!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-guest-row__label small{
  color:var(--ln-front-muted,#98a2b3)!important;
  font-size:.52rem!important;
  font-weight:570!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini{
  display:grid!important;
  grid-template-columns:29px 32px 29px!important;
  flex:0 0 auto!important;
  gap:2px!important;
  padding:3px!important;
  border:1px solid var(--ln-front-border,#e8ebef)!important;
  border-radius:11px!important;
  background:var(--ln-front-surface,#f8f9fb)!important;
  overflow:visible!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini button,
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini input{
  min-height:29px!important;
  height:29px!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini button{
  width:29px!important;
  padding:0!important;
  border:1px solid var(--ln-front-border,#e8ebef)!important;
  border-radius:8px!important;
  background:var(--ln-front-surface,#fff)!important;
  color:var(--ln-front-muted,#475467)!important;
  font-size:.68rem!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini button:hover:not(:disabled){
  border-color:#ffc4d1!important;
  background:var(--ln-front-surface,#fff7f9)!important;
  color:var(--ln-booking-v2-accent)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini button:disabled{
  opacity:.34!important;
  cursor:not-allowed!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--guests .ln-booking-stepper--mini input{
  width:32px!important;
  min-width:32px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ln-front-muted,#344054)!important;
  font-size:.67rem!important;
  font-weight:800!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__guest-actions{
  margin:9px -14px -14px!important;
  padding:10px 14px!important;
  border-top:1px solid var(--ln-front-border,#edf0f3)!important;
  border-radius:0 0 16px 16px!important;
  background:var(--ln-front-surface,#fbfcfd)!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__guest-actions>span{
  overflow:hidden!important;
  color:var(--ln-front-muted,#7b8492)!important;
  font-size:.55rem!important;
  font-weight:680!important;
  line-height:1.3!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__guest-actions>button{
  min-height:31px!important;
  padding:0 12px!important;
  border:1px solid #ffd0da!important;
  border-radius:9px!important;
  background:var(--ln-front-surface,#fff5f7)!important;
  color:#c71946!important;
  font-size:.58rem!important;
  font-weight:800!important;
  cursor:pointer!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__guest-actions>button:hover{background:var(--ln-front-surface-soft,#ffeef2)!important}

@media(max-width:620px){
  html body .ln-booking-form--v2 .ln-booking-v2__popover::before{display:none!important}
  html body .ln-booking-form--v2 .ln-booking-v2__popover--dates,
  html body .ln-booking-form--v2 .ln-booking-v2__popover--guests{
    padding:16px!important;
    border-radius:22px!important;
  }
  html body .ln-booking-form--v2 .ln-booking-v2__date-progress{margin-bottom:13px!important}
  html body .ln-booking-form--v2 .ln-booking-v2__calendar .ln-stay-calendar__grid button{min-height:45px!important}
  html body .ln-booking-form--v2 .ln-booking-v2__guest-actions{margin:10px -16px -16px!important;padding:11px 16px!important;border-radius:0 0 22px 22px!important}
}

/* 0.27.12 — V2 : sélection aller/retour sans fermeture automatique + récapitulatif dédié. */
html body .ln-booking-form--v2 .ln-booking-v2__date-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:10px -14px -14px!important;padding:11px 14px!important;border-top:1px solid var(--ln-front-border,#edf0f3)!important;border-radius:0 0 16px 16px!important;background:var(--ln-front-surface,#fbfcfd)!important}
html body .ln-booking-form--v2 .ln-booking-v2__date-actions>span{overflow:hidden!important;color:var(--ln-front-muted,#7b8492)!important;font-size:.55rem!important;font-weight:700!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html body .ln-booking-form--v2 .ln-booking-v2__date-actions>button{min-height:31px!important;padding:0 12px!important;border:1px solid #ffd0da!important;border-radius:9px!important;background:#ff174f!important;color:#fff!important;font-size:.58rem!important;font-weight:850!important;box-shadow:none!important;cursor:pointer!important}
html body .ln-booking-form--v2 .ln-booking-v2__date-actions>button:disabled{border-color:var(--ln-front-border,#e5e7eb)!important;background:var(--ln-front-surface-soft,#eef0f3)!important;color:var(--ln-front-muted,#98a2b3)!important;opacity:1!important;cursor:not-allowed!important}
html body .ln-booking-v2__popover--dates[data-date-step="complete"] .ln-booking-v2__date-progress>button{background:var(--ln-front-surface,#f6faf8)!important;border-color:var(--ln-front-border,#dfe9e5)!important}
html body .ln-booking-v2__popover--dates[data-date-step="complete"] .ln-booking-v2__popover-title>span{color:#3f7567!important}
html body .ln-booking-recap-page{font-family:var(--ln-font-text,Inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
html body .ln-booking-recap-page .ln-button--accent{background:#ff174f!important;color:#fff!important}
@media(max-width:620px){html body .ln-booking-form--v2 .ln-booking-v2__date-actions{margin:10px -16px -16px!important;padding:11px 16px!important;border-radius:0 0 22px 22px!important;align-items:stretch!important;flex-direction:column!important}html body .ln-booking-form--v2 .ln-booking-v2__date-actions>span{white-space:normal!important}html body .ln-booking-form--v2 .ln-booking-v2__date-actions>button{width:100%!important}}

/* 0.27.13 — calendrier V2 persistant pendant la sélection aller/retour. */
html body .ln-booking-form--v2 .ln-booking-v2__popover--dates{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
html body .ln-booking-form--v2 .ln-booking-v2__popover--dates .ln-booking-v2__date-actions{
  position:sticky!important;
  z-index:4!important;
  bottom:-14px!important;
  box-shadow:0 -10px 24px rgba(16,24,40,.035)!important;
}
@media(max-width:620px){
  html body .ln-booking-form--v2 .ln-booking-v2__popover--dates{
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  html body .ln-booking-form--v2 .ln-booking-v2__popover--dates .ln-booking-v2__date-actions{
    bottom:-16px!important;
  }
}

/* 0.27.14 — calendrier type OTA + page de récapitulatif finalisée. */
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button{
  appearance:none!important;width:100%!important;min-width:0!important;margin:0!important;color:inherit!important;font:inherit!important;text-align:left!important;cursor:pointer!important
}
html body .ln-booking-form--v2 .ln-booking-v2__date-progress>button:hover{
  border-color:var(--ln-front-border,#ffd6df)!important;background:var(--ln-front-surface,#fff)!important
}
html body .ln-booking-form--v2 .ln-booking-v2__date-actions>button{
  min-width:74px!important;background:var(--ln-front-surface,#fff)!important;color:var(--ln-front-muted,#344054)!important;border-color:var(--ln-front-border,#dfe3e8)!important
}
html body .ln-booking-form--v2 .ln-booking-v2__date-actions>button:hover{
  border-color:#ffc7d3!important;background:var(--ln-front-surface,#fff6f8)!important;color:var(--ln-booking-v2-accent)!important
}
html body .ln-booking-v2__popover--dates[data-date-step="complete"] .ln-booking-v2__date-progress>button.is-active{
  background:var(--ln-front-surface,#fff)!important;border-color:#ffc9d5!important
}

html body .ln-booking-recap-page{font-family:var(--ln-font-text,Inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body .ln-booking-recap-page__topbar h1{font-family:var(--ln-font-primary,Inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;color:var(--ln-v4-deep,#153f35)!important}
html body .ln-booking-recap-page .ln-button--accent{background:var(--ln-booking-v2-accent)!important;color:#fff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--ln-booking-v2-accent) 18%,transparent)!important}
html body .ln-booking-recap-page .ln-button--accent:hover{filter:brightness(.98)!important;transform:translateY(-1px)!important}
html body .ln-booking-recap-page__checkout{border-color:var(--ln-front-border,#e3e7e5)!important;box-shadow:0 20px 55px rgba(18,42,34,.08)!important}
html body .ln-booking-recap-page__payment-note{background:var(--ln-front-surface-soft,#f0f8f4)!important}
html body .ln-booking-recap-page__listing-link,html body .ln-booking-recap-page__cancellation>a{color:var(--ln-v4-deep,#153f35)!important}


/* 1.0.0-rc2-design9.36 — réservation mobile en bottom-sheet unique. */
@media (max-width: 620px){
  html body .ln-booking-modal--v2{
    align-items:end!important;
    padding:0!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-modal__panel{
    width:100%!important;
    max-width:100%!important;
    max-height:94dvh!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:24px 24px 0 0!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-modal__panel>header{
    position:sticky!important;
    z-index:8!important;
    top:0!important;
    padding:16px 16px 13px!important;
    background:var(--ln-front-surface,#fff)!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-modal__panel>header h2{
    margin:2px 0!important;
    font-size:1.3rem!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-modal__panel>header p{
    overflow:hidden!important;
    max-width:78vw!important;
    margin:0!important;
    font-size:.72rem!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-modal__content{
    max-height:calc(94dvh - 82px)!important;
    overflow:auto!important;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom))!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-form--v2 .ln-booking-v2__card{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-v2__summary{
    align-items:flex-start!important;
    margin-bottom:14px!important;
  }
  html body .ln-booking-modal--v2 .ln-booking-v2__price strong{font-size:1.8rem!important}
  html body .ln-booking-modal--v2 .ln-booking-v2__selectors{border-radius:13px!important}
  html body .ln-booking-modal--v2 .ln-booking-v2__selector{min-height:58px!important;padding:9px 36px 9px 12px!important}
  html body .ln-booking-modal--v2 .ln-booking-v2__cta{min-height:50px!important;margin-top:12px!important}
  html body .ln-booking-modal--v2 .ln-booking-v2__trust{margin-top:16px!important;padding-top:15px!important}
}
