.misjapi-booking-dialog { box-sizing: border-box; width: min(42rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.25rem; border: 1px solid #dde6f0; border-radius: 1rem; color: #1e175f; background: white; }
.misjapi-booking-dialog::backdrop { background: rgb(15 23 42 / 65%); }
html:has(.misjapi-booking-dialog[open]) { overflow: hidden; }
.misjapi-booking-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.misjapi-booking-header h2 { margin: 0; font-size: 1.25rem; }
.misjapi-booking-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0.5rem; color: inherit; background: #e9eef5; cursor: pointer; }
.misjapi-booking-close svg { display: block; }
.misjapi-booking-frame iframe { display: block; box-sizing: border-box; width: 100%; height: min(65dvh, 42rem); border: 0; }
.misjapi-booking-dialog :focus-visible, .misjapi-messenger:focus-visible { outline: 3px solid #90abce; outline-offset: 3px; }
.misjapi-messenger { position: fixed; z-index: 25; bottom: calc(1.25rem + env(safe-area-inset-bottom)); right: calc(1.25rem + env(safe-area-inset-right)); display: flex; align-items: center; gap: 0.65rem; padding: 0.85rem 1.1rem; border-radius: 2rem; background: #1e175f; color: white; font-weight: 700; text-decoration: none; box-shadow: 0 4px 14px rgb(15 23 42 / 20%); }
.misjapi-messenger:hover { background: #171147; color: white; }
.misjapi-messenger img { display: block; }
.has-modal-open .misjapi-messenger { display: none; }
@media (max-width: 781px) { .misjapi-messenger { padding: 0.85rem; } .misjapi-messenger span { display: none; } }
