/* Phase 10 — Checkout unifié */
.ln-unified-checkout{--ln-checkout-border:var(--ln-front-border,#e1e6eb);--ln-checkout-muted:var(--ln-front-muted,#66707b);--ln-checkout-soft:var(--ln-front-surface-soft,#f7f8fa);--ln-checkout-ink:var(--ln-front-text,#171b20);width:100%;color:var(--ln-checkout-ink)}
.ln-unified-checkout__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px}
.ln-unified-checkout__intro>div>span,.ln-unified-checkout__section-kicker,.ln-unified-checkout__summary-kicker{display:block;margin:0 0 6px;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.12em;color:var(--ln-checkout-muted)}
.ln-unified-checkout__intro h3,.ln-unified-checkout__intro h2{margin:0;font-size:clamp(22px,2vw,30px);line-height:1.1;letter-spacing:-.025em}
.ln-unified-checkout__intro p{margin:8px 0 0;color:var(--ln-checkout-muted);font-size:14px}
.ln-unified-checkout__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:22px;align-items:start}
.ln-unified-checkout__main{display:grid;gap:16px;min-width:0}
.ln-unified-checkout__section,.ln-unified-checkout__summary{border:1px solid var(--ln-checkout-border);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 8px 30px rgba(18,27,38,.035)}
.ln-unified-checkout__section{padding:20px}
.ln-unified-checkout__section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.ln-unified-checkout__section-head h4{margin:0;font-size:18px;line-height:1.2}
.ln-unified-checkout__section-head p{margin:5px 0 0;color:var(--ln-checkout-muted);font-size:13px}
.ln-unified-checkout__selection{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center}
.ln-unified-checkout__selection-media{width:88px;height:76px;border-radius:16px;overflow:hidden;background:var(--ln-checkout-soft);display:grid;place-items:center}
.ln-unified-checkout__selection-media img{width:100%;height:100%;object-fit:cover;display:block}
.ln-unified-checkout__selection-media i{font-size:24px;color:var(--ln-checkout-muted)}
.ln-unified-checkout__selection-copy{min-width:0}
.ln-unified-checkout__selection-copy>span{display:block;margin-bottom:4px;color:var(--ln-checkout-muted);font-size:12px;font-weight:700}
.ln-unified-checkout__selection-copy strong{display:block;font-size:17px;line-height:1.25;white-space:normal}
.ln-unified-checkout__selection-copy small{display:block;margin-top:5px;color:var(--ln-checkout-muted);line-height:1.35}
.ln-unified-checkout__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ln-unified-checkout__fields>label,.ln-unified-checkout__field{display:grid;gap:7px;min-width:0}
.ln-unified-checkout__fields label>span,.ln-unified-checkout__field>span{font-size:13px;font-weight:750;color:var(--ln-front-text,#4f5964)}
.ln-unified-checkout__fields input,.ln-unified-checkout__fields select,.ln-unified-checkout__fields textarea,.ln-unified-checkout__coupon input{width:100%;min-height:48px;border:1px solid var(--ln-front-border,#dce2e7);border-radius:14px;background:var(--ln-front-surface,#fff);padding:0 14px;font:inherit;box-shadow:none}
.ln-unified-checkout__fields textarea{min-height:90px;padding-top:12px;resize:vertical}
.ln-unified-checkout__wide{grid-column:1/-1}
.ln-unified-checkout__summary{position:sticky;top:24px;padding:20px}
.ln-unified-checkout__summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--ln-front-border,#edf0f2)}
.ln-unified-checkout__summary-head h4{margin:0;font-size:18px;line-height:1.2}
.ln-unified-checkout__summary-head small{color:var(--ln-checkout-muted)}
.ln-unified-checkout__price-group{padding:15px 0;border-bottom:1px solid var(--ln-front-border,#edf0f2)}
.ln-unified-checkout__price-group:last-of-type{border-bottom:0}
.ln-unified-checkout__price-title{display:block;margin-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--ln-checkout-muted)}
.ln-unified-checkout__price-lines{display:grid;gap:9px}
.ln-unified-checkout__price-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;font-size:13px;line-height:1.35}
.ln-unified-checkout__price-line span{color:var(--ln-front-muted,#535d67)}
.ln-unified-checkout__price-line strong{font-weight:750;text-align:right}
.ln-unified-checkout__price-line.is-discount span,.ln-unified-checkout__price-line.is-discount strong{color:#19734a}
.ln-unified-checkout__total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:17px 0 13px}
.ln-unified-checkout__total span{font-size:15px;font-weight:800}
.ln-unified-checkout__total strong{font-size:24px;letter-spacing:-.035em}
.ln-unified-checkout__coupon{display:grid;gap:7px;padding:0 0 14px}
.ln-unified-checkout__coupon>span{font-size:12px;font-weight:750;color:var(--ln-front-muted,#525c66)}
.ln-unified-checkout__coupon-status{display:block;min-height:17px;font-size:11px;color:var(--ln-checkout-muted)}
.ln-unified-checkout__coupon-status.is-error{color:#b42318}.ln-unified-checkout__coupon-status.is-success{color:#19734a}
.ln-unified-checkout__payment{display:flex;gap:11px;align-items:flex-start;padding:13px;border-radius:15px;background:var(--ln-checkout-soft);margin:0 0 14px}
.ln-unified-checkout__payment>i{font-size:20px;line-height:1;color:var(--ln-front-text,#27313b);margin-top:1px}
.ln-unified-checkout__payment strong,.ln-unified-checkout__payment span{display:block}.ln-unified-checkout__payment strong{font-size:13px}.ln-unified-checkout__payment span{margin-top:3px;color:var(--ln-checkout-muted);font-size:11px;line-height:1.4}
.ln-unified-checkout__pay{width:100%;justify-content:center;min-height:50px}
.ln-unified-checkout__legal{margin:10px 0 0;text-align:center;color:var(--ln-checkout-muted);font-size:10.5px;line-height:1.45}
.ln-unified-checkout__legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ln-unified-checkout__status{margin-top:8px;font-size:12px;color:var(--ln-checkout-muted)}
.ln-unified-checkout__status.is-error{color:#b42318}.ln-unified-checkout__status.is-success{color:#19734a}
.ln-unified-checkout__summary.is-loading{opacity:.68;pointer-events:none}
.ln-unified-checkout__summary.is-loading:after{content:'';display:block;width:18px;height:18px;margin:10px auto 0;border:2px solid var(--ln-front-border,#dce2e7);border-top-color:var(--ln-front-text,#171b20);border-radius:50%;animation:ln-checkout-spin .65s linear infinite}
@keyframes ln-checkout-spin{to{transform:rotate(360deg)}}

/* Harmonise aussi les récapitulatifs réservation existants. */
.ln-booking-review-step .ln-booking-price-details:before,.ln-booking-recap-page__price-dynamic:before{content:'DÉTAILS DU PRIX';display:block;margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--ln-front-muted,#66707b)}
.ln-booking-review-step .ln-booking-payment-step{margin-top:14px}
.ln-booking-recap-page__checkout{overflow:hidden}
.ln-booking-recap-page__checkout-kicker{letter-spacing:.11em}

@media(max-width:920px){.ln-unified-checkout__grid{grid-template-columns:1fr}.ln-unified-checkout__summary{position:static}}
@media(max-width:620px){.ln-unified-checkout__intro{align-items:flex-start;flex-direction:column}.ln-unified-checkout__section,.ln-unified-checkout__summary{border-radius:18px;padding:16px}.ln-unified-checkout__fields{grid-template-columns:1fr}.ln-unified-checkout__wide{grid-column:auto}.ln-unified-checkout__selection{grid-template-columns:70px minmax(0,1fr)}.ln-unified-checkout__selection-media{width:70px;height:64px}}
/* Les checkouts peuvent être rendus dans le rail ou dans la fenêtre de réservation. */
.ln-booking-rail .ln-unified-checkout__grid,.ln-booking-modal .ln-unified-checkout__grid{grid-template-columns:1fr}
.ln-booking-rail .ln-unified-checkout__summary,.ln-booking-modal .ln-unified-checkout__summary{position:static}
.ln-booking-rail .ln-unified-checkout__section,.ln-booking-rail .ln-unified-checkout__summary{padding:16px;border-radius:18px}
