:root{--book-radius: 14px;--book-shadow: 0 12px 40px rgba(0, 0, 0, .22);--book-ease: cubic-bezier(.22, 1, .36, 1)}body[data-theme=bulledamour]{--book-bg: #0b1014;--book-bg-elevated: #121920;--book-surface: #171f28;--book-text: #f4ece0;--book-muted: #b5a894;--book-accent: #d4b896;--book-accent-strong: #e8d0b0;--book-line: rgba(212, 184, 150, .22);--book-danger: #e08a7a;--book-success: #9fbfa3;--book-font: "Outfit", "Segoe UI", sans-serif;--book-display: "Cormorant Garamond", Georgia, serif;--book-glow: radial-gradient(ellipse at 30% 0%, rgba(212, 184, 150, .16), transparent 55%)}body[data-theme=lespierresdorees]{--book-bg: #243028;--book-bg-elevated: #2c3a31;--book-surface: #334339;--book-text: #f2ebe1;--book-muted: #c3b5a0;--book-accent: #c9a882;--book-accent-strong: #dfc4a4;--book-line: rgba(201, 168, 130, .25);--book-danger: #e09a8a;--book-success: #a8c4a0;--book-font: "Sora", "Segoe UI", sans-serif;--book-display: "Fraunces", Georgia, serif;--book-glow: radial-gradient(ellipse at 70% 10%, rgba(201, 168, 130, .14), transparent 50%)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body.booking-body{margin:0;min-height:100vh;font-family:var(--book-font);background:var(--book-bg);color:var(--book-text);-webkit-font-smoothing:antialiased}body.booking-body:before{content:"";position:fixed;inset:0;background:var(--book-glow);pointer-events:none;z-index:0}.booking-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.booking-header{padding:1.25rem 1.25rem .35rem;max-width:860px;margin:0 auto;width:100%}.booking-header__brand{font-family:var(--book-display);font-size:clamp(1.8rem,5vw,2.4rem);font-weight:500;letter-spacing:-.02em;margin:0;line-height:1.1}.booking-header__tagline{margin:.35rem 0 0;color:var(--book-muted);font-size:.95rem}.booking-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:.85rem 1.25rem 2.5rem}.booking-card{background:linear-gradient(180deg,var(--book-surface),var(--book-bg-elevated));border:1px solid var(--book-line);border-radius:var(--book-radius);box-shadow:var(--book-shadow);padding:1.5rem 1.4rem 1.35rem;min-width:0}.booking-step-body{min-width:0}.booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-bottom:1.5rem}.booking-steps__item{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-bottom:.55rem;border-bottom:2px solid rgba(255,255,255,.08);color:var(--book-muted);text-align:center}.booking-steps__item.is-done,.booking-steps__item.is-current{border-bottom-color:var(--book-accent);color:var(--book-text)}.booking-steps__index{width:1.45rem;height:1.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;background:#ffffff0f}.booking-steps__item.is-done .booking-steps__index,.booking-steps__item.is-current .booking-steps__index{background:var(--book-accent);color:#1a1410}.booking-steps__label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.booking-step-head{margin-bottom:1.15rem}.booking-card h2{font-family:var(--book-display);font-size:clamp(1.55rem,3vw,1.85rem);font-weight:500;margin:0 0 .3rem}.booking-card .lead{color:var(--book-muted);margin:0;font-size:.92rem;line-height:1.45;max-width:36rem}.form-stack{display:grid;gap:.9rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0}.form-row--place{grid-template-columns:minmax(0,7.5rem) minmax(0,1.2fr) minmax(0,1fr)}.form-row .field{min-width:0}.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--book-muted);font-weight:600}.field label em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;opacity:.8}.field input,.field select,.field textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit;color:var(--book-text);background:#00000040;border:1px solid var(--book-line);border-radius:10px;padding:.75rem .85rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--book-accent);box-shadow:0 0 0 3px #d4b89626}.field-error{color:var(--book-danger);font-size:.8rem}.availability-bad{color:var(--book-danger);font-size:.9rem;margin:.35rem 0 0}.price-preview{margin-top:.15rem;padding:1rem 1.05rem;border:1px solid var(--book-line);border-radius:.85rem;background:#0003}.price-preview__headline{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.price-preview__nights{margin:0;font-size:.82rem;color:var(--book-success);font-weight:600}.price-preview__total-label{margin:.2rem 0 0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--book-muted)}.price-preview__amount{font-family:var(--book-display);font-size:1.65rem;font-weight:500;color:var(--book-accent-strong);line-height:1}.price-preview__details{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--book-line)}.price-preview__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.9rem}.price-preview__row+.price-preview__row{margin-top:.3rem}.price-preview__row--muted{color:var(--book-muted);font-size:.84rem}.price-preview__row--muted strong{font-weight:550}.stay-panel{display:grid;gap:1rem;margin-top:.25rem;padding-top:1.15rem;border-top:1px solid var(--book-line)}.stay-panel__dates{display:grid;grid-template-columns:1fr 1fr auto;gap:.65rem;align-items:stretch}.stay-chip{padding:.7rem .85rem;border:1px solid var(--book-line);border-radius:.75rem;background:#00000029}.stay-chip.is-empty{border-style:dashed;opacity:.75}.stay-chip span{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--book-muted)}.stay-chip strong{display:block;margin-top:.2rem;font-size:1.05rem;text-transform:capitalize}.stay-chip small{display:block;margin-top:.15rem;font-size:.72rem;color:var(--book-muted)}.stay-panel__clear{align-self:center;background:none;border:none;padding:.4rem .15rem;color:var(--book-muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.stay-panel__clear:hover{color:var(--book-accent-strong)}.stay-panel__guests-title{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--book-muted);font-weight:650}.guest-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.guest-pills--single{grid-template-columns:minmax(0,10rem)}.guest-pill{display:grid;gap:.3rem;padding:.55rem .65rem;border:1px solid var(--book-line);border-radius:.7rem;background:#00000029}.guest-pill span{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--book-muted);font-weight:600}.guest-pill select{width:100%;font:inherit;color:var(--book-text);background:transparent;border:0;padding:0;cursor:pointer}.extra-list{display:grid;gap:.65rem}.extra-item{display:grid;gap:.85rem;padding:.9rem;border:1px solid var(--book-line);border-radius:12px;background:#0000002e;transition:border-color .2s ease,background .2s ease}.extra-item__main{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:start;cursor:pointer}.extra-item:has(.extra-item__main input:checked){border-color:var(--book-accent);background:#d4b89614}.extra-item.is-unavailable{opacity:.62}.extra-item.is-unavailable .extra-item__main{cursor:not-allowed}.extra-item__unavailable{margin:.35rem 0 0;color:#e8a0a0;font-size:.82rem}.extra-item__main>input{margin-top:.2rem;accent-color:var(--book-accent)}.extra-item__name{font-weight:600;margin:0 0 .2rem}.extra-item__desc{margin:0;color:var(--book-muted);font-size:.85rem}.extra-item__price{font-family:var(--book-display);font-size:1.15rem;white-space:nowrap;text-align:right}.extra-item__per{display:block;font-family:var(--book-font);font-size:.72rem;color:var(--book-muted)}.extra-item-options{display:grid;gap:.55rem;padding:.75rem 0 0 1.75rem;border-top:1px solid var(--book-line)}.extra-item-options__hint{margin:0;color:var(--book-muted);font-size:.85rem}.extra-option-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center}.extra-option-row.is-unavailable{opacity:.55}.extra-option-row__info{display:grid;gap:.15rem}.extra-option-row__info strong{font-size:.95rem}.extra-option-row__info span,.extra-option-row__info small{color:var(--book-muted);font-size:.8rem}.extra-option-row__qty{display:grid;gap:.2rem;font-size:.75rem;color:var(--book-muted);text-align:center}.extra-option-row__qty input,.extra-option-row__qty select{width:4.25rem;padding:.4rem .35rem;border:1px solid var(--book-line);border-radius:8px;background:#00000040;color:inherit;text-align:center;font:inherit}.summary-list{display:grid;gap:.85rem;margin:0 0 1.25rem}.summary-list>div{padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.summary-list>div:last-child{border-bottom:0;padding-bottom:0}.summary-list dt{color:var(--book-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.summary-list dd{margin:.2rem 0 0;font-weight:550}.summary-list__meta{color:var(--book-muted);font-weight:500}.summary-extras{margin:.35rem 0;padding-left:1.1rem}.summary-total{display:flex;justify-content:space-between;align-items:baseline;padding:1rem 0 0;border-top:1px solid var(--book-line);margin-bottom:.25rem}.summary-total strong{font-family:var(--book-display);font-size:1.6rem;font-weight:500}.summary-deposit{margin:.85rem 0 0;font-size:.9rem;color:var(--book-ink)}.summary-deposit__hint{display:block;margin-top:.15rem;font-size:.78rem;color:var(--book-muted)}.booking-legal{margin:1rem 0 0;font-size:.82rem;line-height:1.45;color:var(--book-muted)}.booking-legal__accept{display:flex;gap:.65rem;align-items:flex-start;cursor:pointer}.booking-legal__accept input{margin-top:.2rem;flex-shrink:0}.booking-legal a{color:var(--book-accent-strong);text-decoration:underline;text-underline-offset:.15em}.booking-actions{display:flex;gap:.65rem;margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid var(--book-line)}.btn-book{appearance:none;border:0;font:inherit;font-weight:650;border-radius:999px;padding:.85rem 1.25rem;cursor:pointer;transition:transform .2s var(--book-ease),background .2s ease,opacity .2s ease;text-decoration:none}.btn-book:active{transform:scale(.98)}.btn-book--primary{background:var(--book-accent);color:#1a1410;flex:1}.btn-book--primary:hover{background:var(--book-accent-strong)}.btn-book--ghost{background:transparent;color:var(--book-muted);border:1px solid var(--book-line)}.btn-book:disabled{opacity:.5;cursor:not-allowed}.success-panel{text-align:center;padding:1rem .25rem .25rem}.success-panel h2{margin-bottom:.5rem}.success-panel p,.success-panel__lead{color:var(--book-muted)}.success-panel__cta{margin-top:1.25rem}.success-panel__cta .btn-book{display:inline-flex;justify-content:center;color:#1a1410}.success-panel__cta .btn-book--ghost{color:var(--book-muted)}.success-panel a:not(.btn-book){color:var(--book-accent-strong);font-weight:650}.booking-footer{padding:1rem 1.25rem 1.5rem;text-align:center;color:var(--book-muted);font-size:.8rem}.booking-footer p{margin:0}.booking-footer__row{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;max-width:720px;margin:0 auto}.booking-footer__back{color:var(--book-accent-strong);text-decoration:none;font-weight:600;white-space:nowrap}.booking-footer__back:hover{text-decoration:underline}.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}.calendar{margin-bottom:.25rem}.calendar__toolbar{display:grid;grid-template-columns:2.25rem 1fr 2.25rem;align-items:center;gap:.65rem;margin-bottom:.85rem}.calendar__toolbar button{width:2.25rem;height:2.25rem;border-radius:.55rem;border:1px solid var(--book-line);background:#00000029;color:inherit;font-size:.95rem;line-height:1;cursor:pointer}.calendar__toolbar button:hover:not(:disabled){border-color:var(--book-accent-strong);color:var(--book-accent-strong)}.calendar__toolbar button:disabled{opacity:.3;cursor:not-allowed}.calendar__range{margin:0;text-align:center;font-size:.95rem;font-weight:600;text-transform:capitalize}.calendar__range-sep{margin:0 .35rem;color:var(--book-muted);font-weight:500}.calendar__months{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem}.calendar__label{display:none}.calendar__weekdays,.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar__weekdays span{text-align:center;font-size:.68rem;letter-spacing:.06em;color:var(--book-muted);padding-bottom:.3rem}.calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;color:inherit;font:inherit;font-size:.85rem;border-radius:.45rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.calendar__day.is-blank{cursor:default}.calendar__day:hover:not(:disabled){background:var(--book-line)}.calendar__day:disabled{cursor:not-allowed;color:var(--book-muted);opacity:.45}.calendar__day.is-beyond-horizon:disabled{opacity:.28;text-decoration:none}.calendar__day.is-taken{text-decoration:line-through}.calendar__day.is-between{background:var(--book-line);border-radius:0}.calendar__day.is-start,.calendar__day.is-end{background:var(--book-accent-strong);color:var(--book-bg, #fff);font-weight:650}.calendar__day.is-start{border-radius:.45rem 0 0 .45rem}.calendar__day.is-end{border-radius:0 .45rem .45rem 0}.calendar__day.is-start.is-end{border-radius:.45rem}.calendar__day.is-checkout-only{background:linear-gradient(135deg,transparent 0 46%,var(--book-line) 46% 54%,transparent 54% 100%)}.booking-contact{display:flex;justify-content:flex-end;gap:1rem;flex-wrap:wrap;margin-left:auto}.booking-contact a{color:var(--book-accent-strong);text-decoration:none;font-weight:600}.booking-contact a:hover{text-decoration:underline}@media(max-width:720px){.booking-header,.booking-main{max-width:560px}.calendar__months{grid-template-columns:1fr}.calendar__month--secondary,.calendar__range-next,.calendar__range-sep{display:none}.calendar__label{display:block;margin:0 0 .55rem;font-size:.92rem;font-weight:600;text-transform:capitalize}.stay-panel__dates{grid-template-columns:1fr 1fr}.stay-panel__clear{grid-column:1 / -1;justify-self:start}.guest-pills,.guest-pills--single,.form-row,.form-row--place{grid-template-columns:1fr}.booking-actions{flex-direction:column-reverse}.btn-book--ghost{width:100%}.booking-steps__label{font-size:.62rem}}
