/* Réservation en ligne (plugins hotelbooking et tablebooking) — couleurs, polices et arrondis du thème. */
.eg-bk-header-btn { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; white-space: nowrap; }
.eg-bk-modal .modal-content { border: 0; border-radius: var(--bs-border-radius-xl, 1rem); box-shadow: 0 1.5rem 4rem rgba(16, 24, 40, .25); }
.eg-bk-modal .modal-header { border-bottom: 0; padding: 1.25rem 1.5rem .25rem; }
.eg-bk-modal .modal-title { font-weight: 700; }
.eg-bk-modal .modal-body { padding: 1rem 1.5rem 1.5rem; }
.eg-bk-intro { color: var(--bs-secondary-color, #6c757d); margin-bottom: 1rem; }
.eg-bk-note { margin: .9rem 0 0; font-size: .8rem; color: var(--bs-secondary-color, #6c757d); }

/* Formulaire de dates */
.eg-bk-form { display: grid; gap: .85rem; }
.eg-bk-form .form-label { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--bs-secondary-color, #6c757d); margin-bottom: .3rem; }
.eg-bk-dates, .eg-bk-guests { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.eg-bk-guests:has(> :only-child) { grid-template-columns: 1fr; }
.eg-bk-submit .btn { padding: .75rem 1.25rem; font-weight: 600; }
.eg-bk-nights { display: block; text-align: center; font-size: .82rem; color: var(--bs-secondary-color, #6c757d); margin-top: .4rem; min-height: 1.2em; }

/* Barre de réservation (page builder) */
.eg-bk-bar { background: var(--bs-body-bg); color: var(--bs-body-color); border-radius: var(--bs-border-radius-xl, 1rem); box-shadow: 0 1rem 3rem rgba(16, 24, 40, .16); padding: 1.1rem 1.25rem; }
/* sur une ligne : groupes qui passent à la ligne quand la place manque (dates et personnes restent groupées) */
.eg-bk-form--inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .85rem 1rem; }
.eg-bk-form--inline > .eg-bk-field--wide { flex: 1 1 180px; }
.eg-bk-form--inline > .eg-bk-dates { flex: 2 1 320px; }
.eg-bk-form--inline > .eg-bk-guests { flex: 1.3 1 220px; }
.eg-bk-form--inline > .eg-bk-field--promo { flex: 1 1 150px; }
.eg-bk-form--inline > .eg-bk-submit { flex: 1 1 200px; position: relative; }
.eg-bk-form--inline .eg-bk-nights { position: absolute; left: 0; right: 0; top: 100%; }
.eg-bk-form .form-control[type=date] { min-width: 0; }

/* Restaurant : choix et module dans un cadre */
.eg-bk-picks { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.eg-bk-frame { position: relative; border-radius: var(--bs-border-radius-lg, .75rem); overflow: hidden; background: rgba(127, 127, 127, .06); height: min(var(--bk-h, 680px), 75vh); }
.eg-bk-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #fff; opacity: 0; transition: opacity .3s; }
.eg-bk-frame.is-loaded iframe { opacity: 1; }
.eg-bk-frame.is-loaded .eg-bk-loading { display: none; }
.eg-bk-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--bs-secondary-color, #6c757d); }
.eg-bk-inline .eg-bk-start { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; padding: 2rem 1rem; }
.eg-bk-inline .eg-bk-start[hidden] { display: none; }

/* Barre fixe sur mobile */
.eg-bk-mobilebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; gap: .5rem; padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom));
  background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), .96); backdrop-filter: blur(8px); box-shadow: 0 -.4rem 1.5rem rgba(16, 24, 40, .12); }
.eg-bk-mobilebar .btn { flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font-weight: 600; padding: .7rem .6rem; white-space: nowrap; }
.eg-bk-mobilebar .btn span { overflow: hidden; text-overflow: ellipsis; }
.eg-bk-mobilebar .btn + .btn i, .eg-bk-mobilebar .btn:has(+ .btn) i { display: none; } /* deux boutons : sans icône */
@media (min-width: 992px) { .eg-bk-mobilebar { display: none; } }
@media (max-width: 991.98px) {
  body.eg-bk-has-bar { padding-bottom: calc(4.25rem + env(safe-area-inset-bottom)); }
  /* bouton retour en haut et onglet de rappel au-dessus de la barre */
  body.eg-bk-has-bar #eg-btt, body.eg-bk-has-bar .eg-push--slidein, body.eg-bk-has-bar .eg-push--bar-bottom { bottom: calc(5rem + env(safe-area-inset-bottom)) !important; }
  body.eg-bk-has-bar #tarteaucitronIcon { bottom: 5rem !important; }
}
