/* Booking : formulaire intégré, sans application de messagerie à ouvrir. */
.home-page .booking-option small { grid-column: 1 / -1; font-size: 14px; overflow-wrap: anywhere; }
.booking-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 6vw, 90px); margin-top: 56px; padding: clamp(26px, 4vw, 56px); background: #161410; color: #fff7e8; scroll-margin-top: 120px; }
.booking-eyebrow { color: #ffda18; font-size: 11px; font-weight: 800; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.booking-intro h3 { margin: 24px 0; font: 400 clamp(50px, 6vw, 86px)/.97 var(--poster-font); letter-spacing: -.035em; text-transform: uppercase; }
.booking-intro > p:not(.booking-eyebrow) { max-width: 330px; font-size: 16px; line-height: 1.6; color: #c9c3b6; }
.booking-intro .booking-recipient { margin-top: 28px; }
.booking-recipient strong { color: #ffda18; font-weight: 500; overflow-wrap: anywhere; }
.booking-form { min-width: 0; }
.booking-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.booking-form label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 700; }
.booking-form input, .booking-form select, .booking-form textarea { display: block; width: 100%; min-height: 50px; margin: 0 0 23px; padding: 13px 15px; border: 1px solid #756f62; border-radius: 0; background: #222019; color: #fff7e8; font: inherit; font-size: 16px; line-height: 1.5; color-scheme: dark; }
.booking-form textarea { min-height: 130px; resize: vertical; }
.booking-form input::placeholder, .booking-form textarea::placeholder { color: #aaa495; opacity: 1; }
.booking-form :is(input, select, textarea, button, a):focus-visible { outline: 2px solid #ffda18; outline-offset: 4px; }
.booking-form .booking-privacy { margin: 0 0 22px; color: #c9c3b6; font-size: 12px; line-height: 1.65; }
.booking-privacy a { text-underline-offset: 3px; white-space: nowrap; }
.booking-submit { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 56px; padding: 14px 20px; border: 2px solid #ffda18; background: #ffda18; color: #161410; font-size: 13px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; cursor: pointer; }
.booking-submit:hover { background: #ffe65d; border-color: #ffe65d; }
.booking-submit span { font-size: 23px; font-weight: 400; }
.booking-submit:disabled { opacity: .6; cursor: wait; }
.booking-status { margin: 18px 0 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.booking-status:empty { display: none; }
.booking-status[data-state="error"] { color: #ffb6a2; }
.booking-status[data-state="success"] { color: #d5f7a8; }
.booking-preview-note { margin: 18px 0 0; padding-left: 12px; border-left: 2px solid #ffda18; color: #c9c3b6; font-size: 12px; line-height: 1.6; }
.booking-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 760px) {
  .booking-panel { grid-template-columns: 1fr; gap: 26px; margin-top: 38px; padding: 24px 20px; }
  .booking-intro h3 { margin: 18px 0; font-size: 40px; }
  .booking-intro h3 br { display: none; }
  .booking-intro > p:not(.booking-eyebrow) { max-width: none; }
  .booking-intro .booking-recipient { margin: 16px 0 0; font-size: 14px; }
}
