/* Listnova Booking Form 2 — structural layer. Theme packages may refine the visual tokens. */
.ln-booking-form--v2{position:relative;display:block!important;gap:0!important}.ln-booking-form--v2 .ln-booking-form__layout{display:block!important}.ln-booking-v2__card,.ln-booking-v2__flow{position:relative}.ln-booking-v2__summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.ln-booking-v2__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}.ln-booking-v2__price>span{width:100%}.ln-booking-v2__rating{display:flex;align-items:center;gap:5px;white-space:nowrap}.ln-booking-v2__selectors{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:visible;border:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));border-radius:14px;background:var(--ln-front-surface,#fff)}.ln-booking-v2__selector{position:relative;display:flex;min-width:0;min-height:66px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:11px 42px 11px 14px;border:0;border-right:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));border-bottom:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));background:var(--ln-front-surface,#fff);text-align:left;cursor:pointer}.ln-booking-v2__selector:nth-child(2){border-right:0}.ln-booking-v2__selector--guests{grid-column:1/-1;border-right:0;border-bottom:0}.ln-booking-v2__selector>i{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.ln-booking-v2__selector strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-booking-v2__popover{position:absolute;z-index:45;right:0;top:calc(100% + 10px);width:min(560px,calc(100vw - 32px));padding:16px;border:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));border-radius:20px;background:var(--ln-front-surface,#fff);box-shadow:0 24px 70px rgba(17,24,39,.16)}.ln-booking-v2__popover[hidden]{display:none!important}.ln-booking-v2__popover--guests{width:min(390px,calc(100vw - 32px))}.ln-booking-v2__popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ln-booking-v2__popover-head strong{font-size:.92rem}.ln-booking-v2__popover-close{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:var(--ln-front-surface-soft,#f5f6f7);cursor:pointer}.ln-booking-v2__calendar .ln-stay-calendar{padding:0;border:0;box-shadow:none}.ln-booking-v2__calendar .ln-stay-calendar__grid button{min-height:52px!important}.ln-booking-v2__rules{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ln-booking-v2__rules span{padding:6px 9px;border-radius:999px;background:var(--ln-front-surface-soft,#f5f7f6);font-size:.64rem;font-weight:750}.ln-booking-v2__availability{min-height:20px;margin:10px 0 0}.ln-booking-v2__cta{width:100%;min-height:58px;margin-top:14px;border-radius:14px!important}.ln-booking-v2__microcopy{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0}.ln-booking-v2__trust{display:grid;gap:13px;margin-top:20px;padding-top:18px;border-top:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3))}.ln-booking-v2__trust span{display:flex;align-items:center;gap:11px;font-weight:700}.ln-booking-v2__trust b{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));border-radius:10px;background:var(--ln-front-surface-soft,#f5faf8)}.ln-booking-v2__flow{display:grid;gap:18px}.ln-booking-v2__flow[hidden]{display:none!important}.ln-booking-v2__flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ln-booking-v2__flow-head>div{display:grid;gap:4px}.ln-booking-v2__flow-head h4{margin:0;font-size:1.15rem}.ln-booking-v2__back{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 11px;border:1px solid var(--ln-line,var(--ln-front-border,#dfe7e3));border-radius:11px;background:var(--ln-front-surface,#fff);cursor:pointer}.ln-booking-form--v2 .ln-booking-extras-select{margin-top:0}.ln-booking-form--v2 .ln-booking-message{margin:0}.ln-booking-form--v2 .ln-button--review{width:100%}.ln-booking-form--v2 [data-ln-booking-review-step]{padding:0}.ln-booking-modal--v2 .ln-booking-modal__panel{width:min(94vw,760px)!important}.ln-booking-modal--v2 .ln-booking-modal__content{padding:24px!important}.ln-booking-modal--v2 .ln-booking-v2{max-width:610px;margin:0 auto}.ln-booking-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.ln-booking-v2__single-date{display:grid;gap:7px;margin-bottom:12px}.ln-booking-v2__single-date input{min-height:50px}
@media(max-width:620px){.ln-booking-v2__popover{position:fixed;z-index:1002;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:78vh;overflow:auto;border-radius:24px}.ln-booking-v2__calendar .ln-stay-calendar__grid button{min-height:48px!important}.ln-booking-v2__flow-head{flex-direction:column}.ln-booking-v2__back{width:100%;justify-content:center}.ln-booking-modal--v2 .ln-booking-modal__content{padding:16px!important}}
.ln-booking-rail--v2 .ln-booking-rail__inner--v2{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}

/* 0.29.1 — garde-fous structurels du Formulaire 2.
 * Le rail ne doit jamais hériter d'une deuxième carte englobante du template V4. */
.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}
.ln-booking-rail--v2 .ln-booking-v2,.ln-booking-rail--v2 .ln-booking-form--v2,.ln-booking-rail--v2 .ln-booking-form__layout,.ln-booking-rail--v2 .ln-booking-v2__card{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.ln-booking-rail--v2 .ln-booking-v2__summary{min-width:0}.ln-booking-rail--v2 .ln-booking-v2__price{min-width:0}.ln-booking-rail--v2 .ln-booking-v2__rating{flex:0 0 auto}.ln-booking-rail--v2 .ln-booking-v2__selector{min-width:0!important}.ln-booking-rail--v2 .ln-booking-v2__selector strong{min-width:0!important}

/* 0.29.2 — les popovers V2 restent interactifs même dans les rails Elementor. */
.ln-booking-form--v2,.ln-booking-form--v2 .ln-booking-form__layout,.ln-booking-form--v2 .ln-booking-v2__card,.ln-booking-v2__dates{overflow:visible!important}
.ln-booking-v2__selector{cursor:pointer!important;pointer-events:auto!important}
.ln-booking-v2__popover.is-open{display:block!important;pointer-events:auto!important}

/* 0.29.4 — structure des panneaux contextuels V2. */
.ln-booking-v2__popover-title{display:grid;min-width:0;gap:2px}.ln-booking-v2__popover-title>strong,.ln-booking-v2__popover-title>span{display:block}.ln-booking-v2__date-progress{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.ln-booking-v2__date-progress>div{display:grid;min-width:0;gap:2px}.ln-booking-v2__date-progress small,.ln-booking-v2__date-progress strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-booking-v2__guest-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.ln-booking-v2__guest-actions>span{min-width:0}.ln-booking-v2__guest-actions>button{flex:0 0 auto}.ln-booking-v2__popover.is-open{animation:ln-booking-v2-popover-in .16s ease-out both}@keyframes ln-booking-v2-popover-in{from{opacity:0;transform:translateY(-5px) scale(.992)}to{opacity:1;transform:none}}@media(max-width:620px){.ln-booking-v2__popover.is-open{animation:ln-booking-v2-sheet-in .2s ease-out both}@keyframes ln-booking-v2-sheet-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}

/* 0.29.5 — validation explicite de la plage de dates + page de récapitulatif externe. */
.ln-booking-v2__date-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ln-line,var(--ln-front-border,#e5e7eb))}
.ln-booking-v2__date-actions>span{min-width:0;color:var(--ln-front-muted,#667085);font-size:.72rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-booking-v2__date-actions>button{flex:0 0 auto;min-height:36px;padding:0 14px;border:0;border-radius:10px;background:var(--ln-accent,#ff174f);color:#fff;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
.ln-booking-v2__date-actions>button:disabled{opacity:.38;cursor:not-allowed}
.ln-booking-recap-page{min-height:72vh;padding:48px 20px 80px;background:var(--ln-front-surface,#f8f9fb);color:var(--ln-front-text,#101828)}
.ln-booking-recap-page__shell{width:min(1180px,100%);margin:0 auto}
.ln-booking-recap-page__topbar{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:24px;margin-bottom:28px}
.ln-booking-recap-page__topbar>div>span,.ln-booking-recap-page__checkout-kicker{display:block;color:var(--ln-front-muted,#7a8783);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.ln-booking-recap-page__topbar h1{margin:5px 0 7px;font-size:clamp(2rem,4vw,3.35rem);line-height:1;letter-spacing:-.045em}
.ln-booking-recap-page__topbar p{margin:0;color:var(--ln-front-muted,#7d8798);font-size:1rem}
.ln-booking-recap-page__back{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--ln-front-border,#e4e7ec);border-radius:13px;background:var(--ln-front-surface,#fff);font-size:.84rem;font-weight:780;box-shadow:0 4px 14px rgba(16,24,40,.04)}
.ln-booking-recap-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:28px;align-items:start}
.ln-booking-recap-page__main{display:grid;gap:18px}
.ln-booking-recap-page__listing,.ln-booking-recap-page__details,.ln-booking-recap-page__security,.ln-booking-recap-page__checkout{border:1px solid var(--ln-front-border,#e4e7ec);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 14px 40px rgba(16,24,40,.06)}
.ln-booking-recap-page__listing{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:16px}
.ln-booking-recap-page__listing figure{margin:0;min-height:140px;border-radius:16px;overflow:hidden;background:var(--ln-front-surface-soft,#eef1f4)}
.ln-booking-recap-page__image{width:100%;height:100%;object-fit:cover}
.ln-booking-recap-page__listing>div{display:flex;flex-direction:column;justify-content:center;min-width:0}
.ln-booking-recap-page__listing>div>span{color:var(--ln-front-muted,#98a2b3);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ln-booking-recap-page__listing h2{margin:5px 0 12px;font-size:1.28rem;line-height:1.2}
.ln-booking-recap-page__listing a{display:inline-flex;align-items:center;gap:5px;width:max-content;color:var(--ln-front-muted,#475467);font-size:.78rem;font-weight:800}
.ln-booking-recap-page__details{padding:22px}
.ln-booking-recap-page__details h3{margin:0 0 6px;font-size:1rem}
.ln-booking-recap-page__detail{display:grid;grid-template-columns:34px 110px minmax(0,1fr);align-items:center;gap:10px;padding:15px 0;border-top:1px solid var(--ln-front-border,#eef0f3)}
.ln-booking-recap-page__detail:first-of-type{margin-top:10px}
.ln-booking-recap-page__detail>i{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--ln-front-border,#e4e7ec);border-radius:10px;background:var(--ln-front-surface,#f8fafb);color:var(--ln-front-muted,#667085)}
.ln-booking-recap-page__detail>span{color:var(--ln-front-muted,#7d8798);font-size:.78rem;font-weight:700}
.ln-booking-recap-page__detail>strong{min-width:0;text-align:right;color:var(--ln-front-muted,#344054);font-size:.82rem;line-height:1.5}
.ln-booking-recap-page__detail--note{align-items:start}
.ln-booking-recap-page__security{display:flex;align-items:flex-start;gap:13px;padding:18px 20px}
.ln-booking-recap-page__security>i{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--ln-front-surface-soft,#edf8f3);color:#2f7663;font-size:1.05rem}
.ln-booking-recap-page__security div{display:grid;gap:3px}.ln-booking-recap-page__security strong{font-size:.84rem}.ln-booking-recap-page__security span{color:var(--ln-front-muted,#7d8798);font-size:.75rem}
.ln-booking-recap-page__checkout{position:sticky;top:105px;padding:24px}
.ln-booking-recap-page__total{display:block;margin-top:4px;font-size:2.55rem;line-height:1;letter-spacing:-.055em}.ln-booking-recap-page__checkout>small{display:block;margin-top:5px;color:var(--ln-front-muted,#98a2b3);font-size:.68rem}
.ln-booking-recap-page__price-lines{display:grid;gap:10px;margin:20px 0;padding:17px 0;border-top:1px solid var(--ln-front-border,#eef0f3);border-bottom:1px solid var(--ln-front-border,#eef0f3)}
.ln-booking-recap-page__price-lines>div{display:flex;justify-content:space-between;gap:16px;color:var(--ln-front-muted,#667085);font-size:.76rem}.ln-booking-recap-page__price-lines strong{color:var(--ln-front-muted,#344054);white-space:nowrap}
.ln-booking-recap-page__payment-note{display:flex;gap:11px;align-items:flex-start;margin:18px 0;padding:13px;border-radius:13px;background:var(--ln-front-surface-soft,#f4faf7)}.ln-booking-recap-page__payment-note>i{font-size:1.05rem;color:#3d7a68}.ln-booking-recap-page__payment-note div{display:grid;gap:2px}.ln-booking-recap-page__payment-note strong{font-size:.78rem}.ln-booking-recap-page__payment-note span{color:var(--ln-front-muted,#718078);font-size:.7rem}
.ln-booking-recap-page__pay{width:100%;min-height:52px;border-radius:13px!important}.ln-booking-recap-page__fineprint,.ln-booking-recap-page__warning{margin:10px 0 0;color:var(--ln-front-muted,#8a94a4);font-size:.68rem;line-height:1.45;text-align:center}.ln-booking-recap-page__warning{color:#b54708}
.ln-booking-recap-page__expired{width:min(620px,100%);margin:60px auto;padding:38px;border:1px solid var(--ln-front-border,#e4e7ec);border-radius:24px;background:var(--ln-front-surface,#fff);text-align:center;box-shadow:0 18px 50px rgba(16,24,40,.06)}.ln-booking-recap-page__expired>i{font-size:2rem}.ln-booking-recap-page__expired h1{margin:12px 0 8px}.ln-booking-recap-page__expired p{margin:0 0 20px;color:var(--ln-front-muted,#667085)}
@media(max-width:850px){.ln-booking-recap-page{padding:30px 14px 60px}.ln-booking-recap-page__grid{grid-template-columns:1fr}.ln-booking-recap-page__checkout{position:static}.ln-booking-recap-page__topbar{grid-template-columns:1fr}.ln-booking-recap-page__back{width:max-content}}
@media(max-width:560px){.ln-booking-v2__date-actions{align-items:stretch;flex-direction:column}.ln-booking-v2__date-actions>span{white-space:normal}.ln-booking-v2__date-actions>button{width:100%}.ln-booking-recap-page__listing{grid-template-columns:1fr}.ln-booking-recap-page__listing figure{aspect-ratio:16/9;min-height:0}.ln-booking-recap-page__detail{grid-template-columns:34px minmax(0,1fr)}.ln-booking-recap-page__detail>span{align-self:end}.ln-booking-recap-page__detail>strong{grid-column:2;text-align:left}}

/* 0.29.7 — calendrier persistant type OTA + récapitulatif de réservation premium. */
.ln-booking-v2__date-progress>button{
  appearance:none;display:grid;min-width:0;gap:2px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer
}
.ln-booking-v2__date-progress>button:focus-visible{outline:2px solid color-mix(in srgb,var(--ln-accent,#ff174f) 48%,transparent);outline-offset:2px}
.ln-booking-v2__popover--dates[data-date-step="complete"] .ln-booking-v2__date-actions>button{opacity:1}

.ln-booking-recap-page{min-height:75vh;padding:46px 20px 86px;background:linear-gradient(180deg,var(--ln-front-surface,#f8faf9) 0%,var(--ln-front-surface-soft,#f5f7f6) 100%);color:var(--ln-front-text,#14201c)}
.ln-booking-recap-page__shell{width:min(1220px,100%);margin:0 auto}
.ln-booking-recap-page__topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px;margin-bottom:30px}
.ln-booking-recap-page__heading{min-width:0}
.ln-booking-recap-page__heading>span,.ln-booking-recap-page__checkout-kicker,.ln-booking-recap-page__eyebrow{display:block;color:var(--ln-front-muted,#72847d);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.ln-booking-recap-page__topbar h1{margin:6px 0 7px;color:var(--ln-front-text,#153f35);font-size:clamp(2.1rem,4.3vw,3.65rem);font-weight:900;line-height:.98;letter-spacing:-.055em}
.ln-booking-recap-page__topbar p{margin:0;color:var(--ln-front-muted,#78858f);font-size:1rem}
.ln-booking-recap-page__back{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid var(--ln-front-border,#dfe6e2);border-radius:14px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#26352f);font-size:.82rem;font-weight:820;box-shadow:0 5px 16px rgba(17,35,29,.045);transition:.18s ease}
.ln-booking-recap-page__back:hover{transform:translateY(-1px);border-color:var(--ln-front-border,#ccd8d3);box-shadow:0 9px 24px rgba(17,35,29,.07)}
.ln-booking-recap-page__availability-warning{display:flex;align-items:center;gap:10px;margin:-8px 0 22px}
.ln-booking-recap-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:28px;align-items:start}
.ln-booking-recap-page__main{display:grid;gap:14px;min-width:0}
.ln-booking-recap-page__listing,.ln-booking-recap-page__details,.ln-booking-recap-page__options,.ln-booking-recap-page__cancellation,.ln-booking-recap-page__assurances,.ln-booking-recap-page__checkout{border:1px solid var(--ln-front-border,#e0e7e3);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 14px 42px rgba(17,35,29,.055)}

.ln-booking-recap-page__listing{display:grid;grid-template-columns:minmax(220px,38%) minmax(0,1fr);gap:22px;padding:15px}
.ln-booking-recap-page__listing figure{margin:0;min-height:190px;overflow:hidden;border-radius:17px;background:var(--ln-front-surface-soft,#e9efec)}
.ln-booking-recap-page__image{display:block;width:100%;height:100%;object-fit:cover}
.ln-booking-recap-page__listing-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:9px 8px 9px 0}
.ln-booking-recap-page__listing h2{margin:6px 0 8px;color:var(--ln-front-text,#16251f);font-size:1.45rem;font-weight:900;line-height:1.15;letter-spacing:-.035em}
.ln-booking-recap-page__location{display:flex;align-items:center;gap:6px;margin:0 0 13px;color:var(--ln-front-muted,#65736e);font-size:.82rem}
.ln-booking-recap-page__hostline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--ln-front-muted,#53635d);font-size:.78rem;font-weight:720}
.ln-booking-recap-page__host-avatar{width:34px!important;height:34px!important;border-radius:50%!important;object-fit:cover!important}
.ln-booking-recap-page__hostline>b{color:#bec8c3;font-weight:700}
.ln-booking-recap-page__rating{display:inline-flex;align-items:center;gap:4px;color:var(--ln-front-text,#26352f);font-weight:850}
.ln-booking-recap-page__rating i{color:#ffb31a}
.ln-booking-recap-page__rating small{color:var(--ln-front-muted,#728078);font-size:.72rem;font-weight:700}
.ln-booking-recap-page__listing-link{display:inline-flex;align-items:center;gap:5px;width:max-content;margin-top:14px;color:#1b5747;font-size:.78rem;font-weight:850;text-decoration:underline;text-decoration-color:#b7cbc3;text-underline-offset:4px}

.ln-booking-recap-page__details,.ln-booking-recap-page__options{padding:21px 22px}
.ln-booking-recap-page__details h3,.ln-booking-recap-page__options h3{margin:0 0 12px;color:var(--ln-front-text,#1b2a24);font-size:1rem;font-weight:900}
.ln-booking-recap-page__details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.ln-booking-recap-page__detail{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;padding:13px 0;border-top:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-recap-page__detail:nth-child(-n+2){border-top:0}
.ln-booking-recap-page__detail--wide{grid-column:1/-1}
.ln-booking-recap-page__detail>i,.ln-booking-recap-page__option>i{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--ln-front-border,#dce8e3);border-radius:11px;background:var(--ln-front-surface-soft,#eff8f4);color:#245e4f;font-size:1rem}
.ln-booking-recap-page__detail>div{display:grid;min-width:0;gap:2px}
.ln-booking-recap-page__detail span{color:var(--ln-front-muted,#7a8782);font-size:.72rem;font-weight:760}
.ln-booking-recap-page__detail strong{color:var(--ln-front-text,#31433c);font-size:.82rem;font-weight:820;line-height:1.48}

.ln-booking-recap-page__option-list{display:grid}
.ln-booking-recap-page__option{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-recap-page__option:first-child{border-top:0}
.ln-booking-recap-page__option>div{display:grid;gap:2px}
.ln-booking-recap-page__option>div strong{font-size:.82rem;color:var(--ln-front-text,#31433c)}
.ln-booking-recap-page__option>div span{color:var(--ln-front-muted,#89938f);font-size:.69rem}
.ln-booking-recap-page__option>b{white-space:nowrap;color:var(--ln-front-text,#263b33);font-size:.82rem}

.ln-booking-recap-page__cancellation{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px}
.ln-booking-recap-page__cancellation>i{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--ln-front-surface-soft,#e8f8f1);color:#155c49;font-size:1.35rem}
.ln-booking-recap-page__cancellation>div{display:grid;gap:2px;min-width:0}
.ln-booking-recap-page__cancellation strong{font-size:.84rem}
.ln-booking-recap-page__cancellation span{color:#23725d;font-size:.76rem;font-weight:780}
.ln-booking-recap-page__cancellation small{color:var(--ln-front-muted,#8a9691);font-size:.67rem;line-height:1.45}
.ln-booking-recap-page__cancellation>a{display:inline-flex;align-items:center;gap:5px;color:#265e50;font-size:.72rem;font-weight:850;text-decoration:underline;text-underline-offset:4px}

.ln-booking-recap-page__assurances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;padding:0}
.ln-booking-recap-page__assurances>div{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;padding:16px 14px;border-left:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-recap-page__assurances>div:first-child{border-left:0}
.ln-booking-recap-page__assurances i{color:#1a5a49;font-size:1.2rem}
.ln-booking-recap-page__assurances p{display:grid;gap:2px;margin:0}
.ln-booking-recap-page__assurances strong{font-size:.69rem}
.ln-booking-recap-page__assurances span{color:var(--ln-front-muted,#8a9691);font-size:.62rem;line-height:1.45}

.ln-booking-recap-page__checkout{position:sticky;top:100px;padding:24px}
.ln-booking-recap-page__checkout-kicker{color:var(--ln-front-muted,#5f8177)}
.ln-booking-recap-page__total{display:block;margin-top:6px;color:var(--ln-front-text,#101828);font-size:2.65rem;font-weight:900;line-height:1;letter-spacing:-.055em}
.ln-booking-recap-page__checkout>small{display:block;margin-top:6px;color:var(--ln-front-muted,#98a2b3);font-size:.67rem;font-weight:700}
.ln-booking-recap-page__price-lines{display:grid;gap:11px;margin:20px 0 0;padding:18px 0 17px;border-top:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-recap-page__price-line,.ln-booking-recap-page__price-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;color:var(--ln-front-muted,#55645e);font-size:.77rem;line-height:1.45}
.ln-booking-recap-page__price-line strong,.ln-booking-recap-page__price-total strong{color:var(--ln-front-text,#34443e);font-size:.78rem;white-space:nowrap}
.ln-booking-recap-page__price-total{margin-top:3px;padding-top:14px;border-top:1px solid var(--ln-front-border,#e4eae7);color:#174d40;font-size:.86rem;font-weight:900}
.ln-booking-recap-page__price-total strong{color:#174d40;font-size:.9rem}
.ln-booking-recap-page__payment-note{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:14px;border-radius:14px;background:var(--ln-front-surface-soft,#eff8f4)}
.ln-booking-recap-page__payment-note>i{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--ln-front-success-soft,#dff2e9);color:#155b49;font-size:1rem}
.ln-booking-recap-page__payment-note>div{display:grid;gap:3px}
.ln-booking-recap-page__payment-note strong{font-size:.77rem}
.ln-booking-recap-page__payment-note span{color:var(--ln-front-muted,#60766e);font-size:.68rem;line-height:1.5}
.ln-booking-recap-page__pay{display:flex!important;width:100%;min-height:54px!important;gap:8px;border-radius:13px!important;font-size:.84rem!important}
.ln-booking-recap-page__fineprint,.ln-booking-recap-page__warning{margin:10px 4px 0;color:var(--ln-front-muted,#8d98a3);font-size:.66rem;line-height:1.5;text-align:center}
.ln-booking-recap-page__warning{color:#b54708}
.ln-booking-recap-page__modify{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:16px;border:1px solid var(--ln-front-border,#dfe6e2);border-radius:12px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#33443d);font-size:.76rem;font-weight:830}
.ln-booking-recap-page__modify:hover{background:var(--ln-front-surface,#f9fbfa);border-color:var(--ln-front-border,#ccd8d3)}

@media(max-width:980px){
  .ln-booking-recap-page__grid{grid-template-columns:minmax(0,1fr) 330px;gap:20px}
  .ln-booking-recap-page__listing{grid-template-columns:190px minmax(0,1fr)}
  .ln-booking-recap-page__assurances{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ln-booking-recap-page__assurances>div:nth-child(3){border-left:0;border-top:1px solid var(--ln-front-border,#edf1ef)}
  .ln-booking-recap-page__assurances>div:nth-child(4){border-top:1px solid var(--ln-front-border,#edf1ef)}
}
@media(max-width:820px){
  .ln-booking-recap-page{padding:30px 14px 64px}
  .ln-booking-recap-page__topbar{grid-template-columns:1fr;gap:16px}
  .ln-booking-recap-page__back{width:max-content}
  .ln-booking-recap-page__grid{grid-template-columns:1fr}
  .ln-booking-recap-page__checkout{position:static;order:-1}
}
@media(max-width:580px){
  .ln-booking-recap-page__listing{grid-template-columns:1fr;padding:12px}
  .ln-booking-recap-page__listing figure{min-height:0;aspect-ratio:16/10}
  .ln-booking-recap-page__listing-copy{padding:8px 5px 10px}
  .ln-booking-recap-page__details-grid{grid-template-columns:1fr}
  .ln-booking-recap-page__detail:nth-child(2){border-top:1px solid var(--ln-front-border,#edf1ef)}
  .ln-booking-recap-page__detail--wide{grid-column:auto}
  .ln-booking-recap-page__cancellation{grid-template-columns:42px minmax(0,1fr)}
  .ln-booking-recap-page__cancellation>a{grid-column:2}
  .ln-booking-recap-page__assurances{grid-template-columns:1fr}
  .ln-booking-recap-page__assurances>div{border-left:0!important;border-top:1px solid var(--ln-front-border,#edf1ef)}
  .ln-booking-recap-page__assurances>div:first-child{border-top:0}
}

/* 0.29.9 — recap edits stay on the recap page. */
.ln-booking-recap-page__cancellation{display:block!important;padding:0!important;overflow:hidden}
.ln-booking-recap-page__cancellation>summary{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}
.ln-booking-recap-page__cancellation>summary::-webkit-details-marker{display:none}
.ln-booking-recap-page__cancellation>summary>i{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--ln-front-surface-soft,#e8f8f1);color:#155c49;font-size:1.35rem}
.ln-booking-recap-page__cancellation>summary>div{display:grid;gap:2px;min-width:0}
.ln-booking-recap-page__cancellation>summary strong{font-size:.84rem}
.ln-booking-recap-page__cancellation>summary span:not(.ln-booking-recap-page__cancellation-action){color:#23725d;font-size:.76rem;font-weight:780}
.ln-booking-recap-page__cancellation>summary small{color:var(--ln-front-muted,#8a9691);font-size:.67rem;line-height:1.45}
.ln-booking-recap-page__cancellation-action{display:inline-flex;align-items:center;gap:5px;color:#265e50;font-size:.72rem;font-weight:850;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.ln-booking-recap-page__cancellation-action i{transition:transform .18s ease}
.ln-booking-recap-page__cancellation[open] .ln-booking-recap-page__cancellation-action i{transform:rotate(180deg)}
.ln-booking-recap-page__cancellation-details{display:grid;gap:10px;padding:0 20px 18px 80px;border-top:1px solid var(--ln-front-border,#edf1ef);background:linear-gradient(180deg,var(--ln-front-surface,#fbfdfc),var(--ln-front-surface,#fff))}
.ln-booking-recap-page__cancellation-details>div{display:flex;align-items:flex-start;gap:10px;padding-top:16px}
.ln-booking-recap-page__cancellation-details>div>i{margin-top:2px;color:#23725d;font-size:1rem}
.ln-booking-recap-page__cancellation-details p{margin:0;color:var(--ln-front-muted,#697872);font-size:.72rem;line-height:1.6}
.ln-booking-recap-page__cancellation-details p strong,.ln-booking-recap-page__cancellation-details p span{display:block}
.ln-booking-recap-page__cancellation-details p strong{margin-bottom:3px;color:var(--ln-front-text,#263a33);font-size:.76rem}
.ln-booking-recap-page__modify{font:inherit;cursor:pointer}
.ln-booking-recap-date-dialog{width:min(720px,calc(100vw - 28px));max-width:none;max-height:min(88vh,820px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent;color:var(--ln-front-text,#17231f);overflow:visible}
.ln-booking-recap-date-dialog::backdrop{background:rgba(14,28,23,.42);backdrop-filter:blur(5px)}
.ln-booking-recap-date-dialog__panel{max-height:min(88vh,820px);overflow:auto;border:1px solid var(--ln-front-border,#dfe7e3);border-radius:24px;background:var(--ln-front-surface,#fff);box-shadow:0 30px 90px rgba(13,30,24,.23)}
.ln-booking-recap-date-dialog__head{position:sticky;z-index:5;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--ln-front-border,#edf1ef);background:var(--ln-front-surface-glass,rgba(255,255,255,.96));backdrop-filter:blur(12px)}
.ln-booking-recap-date-dialog__head>div{display:grid;gap:4px}
.ln-booking-recap-date-dialog__head span{color:var(--ln-front-muted,#6f857d);font-size:.66rem;font-weight:900;letter-spacing:.13em}
.ln-booking-recap-date-dialog__head h2{margin:0;color:var(--ln-front-text,#173e34);font-size:1.38rem;font-weight:900;letter-spacing:-.035em}
.ln-booking-recap-date-dialog__head p{margin:0;color:var(--ln-front-muted,#82908a);font-size:.76rem}
.ln-booking-recap-date-dialog__close{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid var(--ln-front-border,#e3e9e6);border-radius:12px;background:var(--ln-front-surface,#f8faf9);color:var(--ln-front-muted,#586761);font-size:1.1rem;cursor:pointer}
.ln-booking-recap-date-form{display:grid;gap:15px;padding:20px 24px 24px}
.ln-booking-recap-date-form .ln-stay-dates{display:grid;gap:14px}
.ln-booking-recap-date-form .ln-stay-dates__selection{border:1px solid var(--ln-front-border,#dfe7e3);border-radius:16px;overflow:hidden}
.ln-booking-recap-date-form .ln-stay-calendar{border:1px solid var(--ln-front-border,#e5ebe8);border-radius:18px;box-shadow:none}
.ln-booking-recap-date-form .ln-stay-calendar__grid button{min-height:58px}
.ln-booking-recap-date-form .ln-booking-rules{display:flex;flex-wrap:wrap;gap:6px}
.ln-booking-recap-date-form .ln-booking-rules span{padding:6px 9px;border-radius:999px;background:var(--ln-front-surface-soft,#f3f7f5);color:var(--ln-front-muted,#61736c);font-size:.65rem;font-weight:760}
.ln-booking-recap-date-form__availability{min-height:20px;margin:0}
.ln-booking-recap-date-dialog__actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:10px;margin:2px -24px -24px;padding:15px 24px;border-top:1px solid var(--ln-front-border,#e9efec);background:var(--ln-front-surface-glass,rgba(255,255,255,.96));backdrop-filter:blur(12px)}
.ln-booking-recap-date-dialog__actions .ln-button{min-height:46px;border-radius:12px!important}
body.ln-booking-recap-dialog-open{overflow:hidden}
@media(max-width:580px){
  .ln-booking-recap-page__cancellation>summary{grid-template-columns:42px minmax(0,1fr);padding:16px}
  .ln-booking-recap-page__cancellation>summary>i{width:42px;height:42px}
  .ln-booking-recap-page__cancellation-action{grid-column:2;margin-top:6px}
  .ln-booking-recap-page__cancellation-details{padding:0 16px 16px 16px}
  .ln-booking-recap-date-dialog{width:calc(100vw - 16px);max-height:92vh;border-radius:20px}
  .ln-booking-recap-date-dialog__panel{max-height:92vh;border-radius:20px}
  .ln-booking-recap-date-dialog__head{padding:18px 16px 15px}
  .ln-booking-recap-date-form{padding:16px}
  .ln-booking-recap-date-dialog__actions{margin:0 -16px -16px;padding:12px 16px;display:grid;grid-template-columns:1fr 1.3fr}
  .ln-booking-recap-date-form .ln-stay-calendar__grid button{min-height:50px}
}


/* 0.30.0 — l’étape 2 devient une vraie page du parcours, avant le récapitulatif. */
.ln-booking-customize-page{min-height:72vh;padding:48px 20px 80px;background:var(--ln-front-surface,#f8f9fb);color:var(--ln-front-text,#101828)}
.ln-booking-customize-page__shell{width:min(1180px,100%);margin:0 auto}
.ln-booking-customize-page__topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:24px;margin-bottom:28px}
.ln-booking-customize-page__topbar>div>span,.ln-booking-customize-page__summary-kicker{display:block;color:var(--ln-front-muted,#71877f);font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.ln-booking-customize-page__topbar h1{margin:5px 0 7px;color:var(--ln-front-text,#153f34);font-size:clamp(2rem,4vw,3.25rem);line-height:1;letter-spacing:-.045em}
.ln-booking-customize-page__topbar p{margin:0;color:var(--ln-front-muted,#7d8798);font-size:1rem}
.ln-booking-customize-page__back{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--ln-front-border,#e1e7e4);border-radius:13px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#394842);font-size:.84rem;font-weight:800;box-shadow:0 4px 14px rgba(16,24,40,.04)}
.ln-booking-customize-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:28px;align-items:start}
.ln-booking-customize-page__main{display:grid;gap:18px}
.ln-booking-customize-page__stay-card,.ln-booking-customize-page__card,.ln-booking-customize-page__summary{border:1px solid var(--ln-front-border,#e3e8e5);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 14px 40px rgba(16,24,40,.055)}
.ln-booking-customize-page__stay-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:16px}
.ln-booking-customize-page__stay-card figure{margin:0;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--ln-front-surface-soft,#edf1ef)}
.ln-booking-customize-page__image{display:block;width:100%;height:100%;object-fit:cover}
.ln-booking-customize-page__stay-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:7px;padding:6px 8px 6px 0}
.ln-booking-customize-page__stay-copy>span{color:var(--ln-front-muted,#87968f);font-size:.67rem;font-weight:900;letter-spacing:.13em}
.ln-booking-customize-page__stay-copy h2{margin:0;color:var(--ln-front-text,#142d26);font-size:1.25rem;line-height:1.2;letter-spacing:-.025em}
.ln-booking-customize-page__stay-copy p{display:flex;align-items:center;gap:6px;margin:0;color:var(--ln-front-muted,#78867f);font-size:.76rem}
.ln-booking-customize-page__quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}
.ln-booking-customize-page__quick span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:var(--ln-front-surface-soft,#f5f8f7);color:var(--ln-front-muted,#55665f);font-size:.69rem}
.ln-booking-customize-page__quick i{color:#23705c}.ln-booking-customize-page__quick b{font-weight:780}
.ln-booking-customize-page__card{padding:24px}
.ln-booking-customize-page__card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.ln-booking-customize-page__card>header>div{display:grid;gap:4px}
.ln-booking-customize-page__card h2{margin:0;color:var(--ln-front-text,#163c32);font-size:1.3rem;letter-spacing:-.025em}
.ln-booking-customize-page__card>header p,.ln-booking-customize-page__message>div>p{margin:0;color:var(--ln-front-muted,#87928e);font-size:.76rem}
.ln-booking-customize-page__card>header>small{max-width:180px;padding:8px 10px;border-radius:999px;background:var(--ln-front-surface-soft,#f3f6f4);color:var(--ln-front-muted,#75827d);font-size:.66rem;font-weight:780;text-align:center}
.ln-booking-customize-page .ln-booking-extra-list{display:grid;gap:10px}
.ln-booking-customize-page .ln-booking-extra{min-height:86px;padding:15px 16px;border:1px solid var(--ln-front-border,#e5e8e6);border-radius:17px;background:var(--ln-front-surface,#fff);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.ln-booking-customize-page .ln-booking-extra.is-selected{border-color:var(--ln-front-border,#b9d9ce);background:var(--ln-front-surface,#f8fcfa);box-shadow:0 0 0 3px rgba(35,112,92,.055)}
.ln-booking-customize-page .ln-booking-extra__toggle,.ln-booking-customize-page .ln-booking-extra__required{width:44px;height:44px;border-radius:13px}
.ln-booking-customize-page .ln-booking-extra__copy{gap:3px}.ln-booking-customize-page .ln-booking-extra__copy>strong{font-size:.92rem}.ln-booking-customize-page .ln-booking-extra__copy>small{color:var(--ln-front-muted,#8b9691);font-size:.72rem}.ln-booking-customize-page .ln-booking-extra__copy>span{color:#285e51;font-size:.74rem;font-weight:850}
.ln-booking-customize-page__message{display:grid;gap:16px}.ln-booking-customize-page__message>div{display:grid;gap:4px}
.ln-booking-customize-page__message textarea{width:100%;min-height:145px;padding:16px 17px;border:1px solid var(--ln-front-border,#dfe5e2);border-radius:17px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#263630);font:inherit;font-size:.9rem;line-height:1.55;resize:vertical;outline:0}
.ln-booking-customize-page__message textarea:focus{border-color:var(--ln-front-muted,#9fc8bb);box-shadow:0 0 0 4px rgba(35,112,92,.07)}
.ln-booking-customize-page__summary{position:sticky;top:100px;padding:24px}
.ln-booking-customize-page__summary-total{display:block;margin-top:6px;color:var(--ln-front-text,#101828);font-size:2.5rem;font-weight:900;line-height:1;letter-spacing:-.055em}
.ln-booking-customize-page__summary>small{display:block;margin-top:6px;color:var(--ln-front-muted,#98a2b3);font-size:.68rem;font-weight:750}
.ln-booking-customize-page__summary-lines{display:grid;gap:12px;margin:20px 0 0;padding:17px 0;border-top:1px solid var(--ln-front-border,#edf1ef);border-bottom:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-customize-page__summary-lines>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;color:var(--ln-front-muted,#7b8983);font-size:.72rem}
.ln-booking-customize-page__summary-lines strong{color:var(--ln-front-text,#34453e);font-size:.74rem;text-align:right}
.ln-booking-customize-page .ln-booking-price-details{display:grid;gap:8px;margin:16px 0 0;padding:0;border:0;background:transparent}
.ln-booking-customize-page .ln-booking-price-details>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;color:var(--ln-front-muted,#697872);font-size:.7rem}.ln-booking-customize-page .ln-booking-price-details strong{color:var(--ln-front-text,#33443e)}
.ln-booking-customize-page__availability{min-height:22px;margin:14px 0 0;font-size:.72rem;font-weight:800}
.ln-booking-customize-page__secure{display:flex;align-items:flex-start;gap:10px;margin:12px 0 16px;padding:13px;border-radius:14px;background:var(--ln-front-surface-soft,#eff8f4)}
.ln-booking-customize-page__secure>i{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--ln-front-success-soft,#dff2e9);color:#155b49;font-size:1rem}
.ln-booking-customize-page__secure>div{display:grid;gap:2px}.ln-booking-customize-page__secure strong{font-size:.75rem}.ln-booking-customize-page__secure span{color:var(--ln-front-muted,#60766e);font-size:.67rem;line-height:1.45}
.ln-booking-customize-page__continue{display:flex!important;width:100%;min-height:54px!important;gap:8px;border-radius:13px!important;font-size:.84rem!important}
.ln-booking-customize-page__edit{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin-top:10px;color:var(--ln-front-muted,#5d6c66);font-size:.72rem;font-weight:790}
.ln-booking-customize-page__expired{width:min(620px,100%);margin:80px auto;padding:38px;border:1px solid var(--ln-front-border,#e3e8e5);border-radius:24px;background:var(--ln-front-surface,#fff);text-align:center;box-shadow:0 18px 50px rgba(16,24,40,.07)}
.ln-booking-customize-page__expired>i{display:grid;width:54px;height:54px;margin:0 auto 14px;place-items:center;border-radius:17px;background:var(--ln-front-surface-soft,#eff8f4);color:#1a6653;font-size:1.5rem}.ln-booking-customize-page__expired h1{margin:0 0 8px}.ln-booking-customize-page__expired p{margin:0 0 20px;color:var(--ln-front-muted,#7c8984)}
@media(max-width:820px){.ln-booking-customize-page{padding:30px 14px 64px}.ln-booking-customize-page__topbar{grid-template-columns:1fr;gap:16px}.ln-booking-customize-page__back{width:max-content}.ln-booking-customize-page__grid{grid-template-columns:1fr}.ln-booking-customize-page__summary{position:static;order:-1}}
@media(max-width:580px){.ln-booking-customize-page__stay-card{grid-template-columns:1fr;padding:12px}.ln-booking-customize-page__stay-card figure{aspect-ratio:16/9}.ln-booking-customize-page__stay-copy{padding:7px}.ln-booking-customize-page__card{padding:18px}.ln-booking-customize-page__card>header{flex-direction:column}.ln-booking-customize-page__card>header>small{max-width:none}.ln-booking-customize-page__summary{padding:20px}.ln-booking-customize-page__summary-lines>div{grid-template-columns:1fr}.ln-booking-customize-page__summary-lines strong{text-align:left}}

/* 0.30.1 — one-page recap: extras, message and payment in a single coherent step. */
.ln-booking-recap-form{display:block!important;margin:0!important;padding:0!important}
.ln-booking-recap-page__section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.ln-booking-recap-page__section-head>div{display:grid;gap:3px}
.ln-booking-recap-page__section-head>div>span,.ln-booking-recap-page__personalize-head>div>span,.ln-booking-recap-page__message-editor label>span{color:var(--ln-front-muted,#71877f);font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ln-booking-recap-page__section-head h3{margin:0!important}
.ln-booking-recap-page__inline-action{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px solid var(--ln-front-border,#dfe7e3);border-radius:11px;background:var(--ln-front-surface,#f9fbfa);color:var(--ln-front-text,#2d5147);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;white-space:nowrap}
.ln-booking-recap-page__inline-action:hover{border-color:var(--ln-front-border,#cbd9d3);background:var(--ln-front-surface-soft,#f3f8f6)}
.ln-booking-recap-page__personalize{padding:22px;border:1px solid var(--ln-front-border,#dfe7e3);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 14px 42px rgba(17,35,29,.055)}
.ln-booking-recap-page__personalize-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.ln-booking-recap-page__personalize-head>div{display:grid;gap:4px}
.ln-booking-recap-page__personalize-head h3{margin:0;color:var(--ln-front-text,#1b2a24);font-size:1.08rem;font-weight:900;letter-spacing:-.02em}
.ln-booking-recap-page__personalize-head p{margin:0;color:var(--ln-front-muted,#7b8983);font-size:.73rem;line-height:1.45}
.ln-booking-recap-page__personalize-head>small{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:var(--ln-front-surface-soft,#f1f5f3);color:var(--ln-front-muted,#6f7d77);font-size:.65rem;font-weight:800;white-space:nowrap}
.ln-booking-recap-page__extra-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ln-booking-recap-page__extra{min-height:92px;padding:14px 15px!important;border-color:var(--ln-front-border,#e3e9e6)!important;background:var(--ln-front-surface,#fcfdfc)!important}
.ln-booking-recap-page__extra.is-selected{border-color:var(--ln-front-border,#bddbd0)!important;background:var(--ln-front-surface-soft,#f4fbf8)!important;box-shadow:0 8px 24px rgba(29,90,72,.07)}
.ln-booking-recap-page__extra .ln-booking-extra__toggle,.ln-booking-recap-page__extra .ln-booking-extra__required{width:42px;height:42px;border-radius:13px}
.ln-booking-recap-page__extra .ln-booking-extra__copy{gap:3px}
.ln-booking-recap-page__extra .ln-booking-extra__copy>strong{color:var(--ln-front-text,#1f352e);font-size:.84rem}
.ln-booking-recap-page__extra .ln-booking-extra__copy>small{color:var(--ln-front-muted,#89958f);font-size:.68rem;line-height:1.35}
.ln-booking-recap-page__extra .ln-booking-extra__copy>span{color:#276453;font-size:.7rem;font-weight:850}
.ln-booking-recap-page__no-extras{display:flex;align-items:center;gap:9px;padding:14px;border:1px dashed var(--ln-front-border,#dce6e1);border-radius:14px;background:var(--ln-front-surface,#fafcfb);color:var(--ln-front-muted,#73817b);font-size:.74rem}
.ln-booking-recap-page__message-editor{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--ln-front-border,#edf1ef)}
.ln-booking-recap-page__message-editor label{display:grid;gap:3px}
.ln-booking-recap-page__message-editor label>strong{color:var(--ln-front-text,#253831);font-size:.86rem}
.ln-booking-recap-page__message-editor textarea{width:100%;min-height:104px;padding:13px 14px;border:1px solid var(--ln-front-border,#dfe6e2);border-radius:14px;background:var(--ln-front-surface,#fbfcfb);color:var(--ln-front-text,#26352f);font:inherit;font-size:.8rem;line-height:1.5;resize:vertical;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.ln-booking-recap-page__message-editor textarea:focus{border-color:var(--ln-front-muted,#9ec8b9);background:var(--ln-front-surface,#fff);box-shadow:0 0 0 4px rgba(35,114,93,.08)}
.ln-booking-recap-page__message-editor>small{color:var(--ln-front-muted,#929d98);font-size:.65rem}
.ln-booking-recap-page__checkout .ln-booking-recap-page__price-dynamic{display:grid!important;gap:10px;margin:20px 0 0!important;padding:18px 20px 16px!important;border:1px solid var(--ln-front-border,#e4eae7)!important;border-radius:16px!important;background:var(--ln-front-surface,#fff)!important;max-height:none!important;overflow:visible!important;box-sizing:border-box}
.ln-booking-recap-page__price-dynamic>div{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:var(--ln-front-muted,#55645e);font-size:.76rem;line-height:1.45}
.ln-booking-recap-page__price-dynamic>div strong{color:var(--ln-front-text,#34443e);font-size:.77rem;white-space:nowrap}
.ln-booking-recap-page__checkout>.ln-booking-recap-page__price-total{margin:0 0 16px;padding:14px 0 0;border-top:0}
.ln-booking-recap-page__checkout .ln-booking-recap-page__availability{min-height:0;margin:0 0 18px!important;padding:10px 12px!important;border:0!important;border-radius:12px!important;text-align:left;font-size:.7rem;box-sizing:border-box}
.ln-booking-recap-page__checkout .ln-booking-recap-page__availability:empty{display:none!important;margin:0!important;padding:0!important}
.ln-booking-recap-page__checkout .ln-booking-recap-page__availability:not(:empty)+.ln-booking-recap-page__payment-note{margin-top:0!important}
.ln-booking-recap-page__checkout .ln-booking-recap-page__payment-note{margin-top:0!important;margin-bottom:16px!important}
.ln-booking-recap-page__availability:empty{display:none}
.ln-booking-recap-page__availability.is-available{color:#1d765d}
.ln-booking-recap-page__availability.is-unavailable{color:#b42318}
@media(max-width:900px){.ln-booking-recap-page__extra-list{grid-template-columns:1fr}}
@media(max-width:820px){.ln-booking-recap-page__checkout{order:initial!important}.ln-booking-recap-page__personalize-head{flex-direction:column}.ln-booking-recap-page__personalize-head>small{align-self:flex-start}}
@media(max-width:580px){.ln-booking-recap-page__section-head{flex-direction:column}.ln-booking-recap-page__inline-action{align-self:flex-start}.ln-booking-recap-page__personalize{padding:17px}.ln-booking-recap-page__extra{grid-template-columns:42px minmax(0,1fr)}.ln-booking-recap-page__extra .ln-booking-stepper--extra{grid-column:2;justify-self:start}}
.ln-booking-form--v2 .ln-booking-coupon{margin-top:2px!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}
}


/* design10.176 — le calendrier du récapitulatif ne doit jamais s'ouvrir au chargement.
   Le CSS global force .ln-booking-recap-date-dialog en display:grid ; pour un <dialog>,
   cela neutralise le masquage natif lorsqu'il n'a pas l'attribut [open]. */
.ln-booking-recap-date-dialog:not([open]){
  display:none!important;
}
.ln-booking-recap-date-dialog[open]{
  display:block!important;
}
