
html.omaya-booking-open, body.omaya-booking-open { overflow: hidden !important; }
.omaya-booking-modal[hidden] { display: none !important; }
.omaya-booking-modal {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center;
  padding: 22px; opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease;
}
.omaya-booking-modal.is-open { opacity: 1; visibility: visible; }
.omaya-booking-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(8,35,44,.80); backdrop-filter: blur(7px); }
.omaya-booking-modal__dialog {
  position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0,1fr);
  width: min(920px,calc(100vw - 44px)); height: min(820px,calc(100dvh - 44px)); max-height: calc(100dvh - 44px);
  overflow: hidden; border: 1px solid rgba(198,165,82,.36); border-radius: 28px; background: #f6f0e4;
  box-shadow: 0 30px 90px rgba(5,27,35,.44); transform: translateY(10px) scale(.99); transition: transform .18s ease;
}
.omaya-booking-modal.is-open .omaya-booking-modal__dialog { transform: none; }
.omaya-booking-modal__close {
  position: absolute; z-index: 5; top: 13px; right: 13px; display: grid; place-items: center;
  width: 42px; height: 42px; padding: 0; border: 1px solid rgba(22,73,90,.18); border-radius: 50%;
  background: rgba(255,255,255,.92); color: #16495a; font: 300 30px/1 Arial,sans-serif; cursor: pointer;
}
.omaya-booking-modal__header {
  display: grid; grid-template-columns: 105px minmax(0,1fr); align-items: center; gap: 22px;
  min-height: 138px; padding: 16px 72px 16px 20px; border-bottom: 1px solid rgba(198,165,82,.24);
  background: linear-gradient(110deg,rgba(239,247,246,.92),rgba(246,240,228,.98));
}
.omaya-booking-modal__header img { display: block; width: 105px; height: 105px; object-fit: cover; object-position: center 30%; border-radius: 17px; }
.omaya-booking-modal__date { margin: 0 0 3px; color: #b5903f; font: 700 11px/1.3 Montserrat,Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.omaya-booking-modal__title { margin: 0; color: #16495a; font-family: Cinzel,Georgia,serif; font-size: 30px; font-weight: 400; line-height: 1.12; letter-spacing: .01em; text-transform: none; }
.omaya-booking-modal__description { margin: 6px 0 0; color: rgba(35,53,58,.74); font: 400 13px/1.45 Montserrat,Arial,sans-serif; }
.omaya-booking-modal__body {
  min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  padding: 22px 26px 34px; background: #f6f0e4; scrollbar-gutter: stable;
}
.omaya-booking-form { width: 100%; max-width: 800px; margin: 0 auto; color: #203a43; font-family: Montserrat,Arial,sans-serif; }
.omaya-booking-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 18px; }
.omaya-booking-field { display: grid; gap: 7px; min-width: 0; }
.omaya-booking-field--wide { grid-column: 1/-1; }
.omaya-booking-field > span { color: #16495a; font-size: 12px; font-weight: 600; line-height: 1.35; }
.omaya-booking-field b { color: #d84e52; }
.omaya-booking-field input, .omaya-booking-field select, .omaya-booking-field textarea,
.omaya-booking-phone input, .omaya-booking-phone select {
  width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px;
  border: 1px solid rgba(190,153,78,.38); border-radius: 15px; outline: none;
  background: rgba(255,255,255,.76); color: #203a43; font: 400 14px/1.35 Montserrat,Arial,sans-serif;
}
.omaya-booking-field textarea { min-height: 92px; resize: vertical; }
.omaya-booking-field input:focus, .omaya-booking-field select:focus, .omaya-booking-field textarea:focus,
.omaya-booking-phone input:focus, .omaya-booking-phone select:focus { border-color: #b5903f; box-shadow: 0 0 0 3px rgba(181,144,63,.12); }
.omaya-booking-phone { display: grid; grid-template-columns: minmax(120px,.34fr) minmax(0,1fr); gap: 9px; }
.omaya-booking-consent {
  display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; column-gap: 14px;
  width: 100%; margin: 22px 0 0; padding: 0; color: rgba(32,58,67,.80); cursor: pointer;
}
.omaya-booking-consent input {
  position: static; display: block; appearance: auto; -webkit-appearance: checkbox;
  width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 2px 0 0; padding: 0;
  opacity: 1; transform: none; accent-color: #c6a552;
}
.omaya-booking-consent span { display: block; min-width: 0; margin: 0; padding: 0; font-size: 12px; line-height: 1.55; text-align: left; }
.omaya-booking-privacy { margin: 16px 0 0; color: rgba(32,58,67,.68); font-size: 11px; line-height: 1.55; text-align: left; }
.omaya-booking-actions { display: grid; justify-items: center; gap: 10px; margin-top: 22px; }
.omaya-booking-submit { min-width: 230px; min-height: 48px; padding: 0 30px; border: 0; border-radius: 999px; background: #cda951; color: white; font: 700 13px/1 Montserrat,Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.omaya-booking-submit:disabled { opacity: .6; cursor: wait; }
.omaya-booking-status { min-height: 1.4em; margin: 0; color: #16495a; font-size: 12px; text-align: center; }
.omaya-booking-honeypot, .omaya-booking-submit-target { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; border: 0 !important; }
@media (max-width:700px) {
  .omaya-booking-modal { padding: 0; }
  .omaya-booking-modal__dialog { width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
  .omaya-booking-modal__header { grid-template-columns: 70px minmax(0,1fr); gap: 12px; min-height: 100px; padding: 10px 56px 10px 10px; }
  .omaya-booking-modal__header img { width: 70px; height: 78px; border-radius: 11px; }
  .omaya-booking-modal__date { font-size: 9px; }
  .omaya-booking-modal__title { font-size: 21px; }
  .omaya-booking-modal__description { margin-top: 3px; font-size: 10.5px; line-height: 1.35; }
  .omaya-booking-modal__close { top: 9px; right: 9px; width: 38px; height: 38px; font-size: 27px; }
  .omaya-booking-modal__body { padding: 14px 12px max(28px,env(safe-area-inset-bottom)); }
  .omaya-booking-form__grid { grid-template-columns: 1fr; gap: 13px; }
  .omaya-booking-field--wide { grid-column: auto; }
  .omaya-booking-phone { grid-template-columns: 105px minmax(0,1fr); gap: 7px; }
  .omaya-booking-field input, .omaya-booking-field select, .omaya-booking-field textarea,
  .omaya-booking-phone input, .omaya-booking-phone select { min-height: 44px; font-size: 16px; }
  .omaya-booking-consent span { font-size: 11px; }
  .omaya-booking-submit { width: 100%; min-width: 0; }
}


/* Final phone and status adjustments */
.omaya-booking-status.is-sending { color: #8b6a1f; }
.omaya-booking-status.is-success { color: #17643a; }
.omaya-booking-status.is-error { color: #9b3030; }
@media (max-width:700px) {
  .omaya-booking-phone { grid-template-columns: 84px minmax(0,1fr); gap: 6px; }
  .omaya-booking-phone select { width: 84px; min-width: 84px; max-width: 84px; padding-left: 7px; padding-right: 22px; }
}
