.j-chat, .j-chat *, .j-chat *::before, .j-chat *::after { box-sizing: border-box; }
.j-chat[hidden], .j-chat [hidden] { display: none !important; }
.j-chat { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 60; }
.j-chat-launch { display: inline-flex; align-items: center; gap: .5em; cursor: pointer; min-height: 48px; }
.j-chat-panel { position: absolute; right: 0; bottom: calc(100% + 12px); width: min(380px, calc(100vw - 32px)); max-height: min(560px, calc(100dvh - 120px)); display: flex; flex-direction: column; overflow: hidden; }
.j-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.j-chat-close { cursor: pointer; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.j-chat-log { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 8px; min-height: 120px; }
.j-chat-msg { max-width: 88%; overflow-wrap: anywhere; white-space: pre-wrap; }
.j-chat-msg--you { align-self: flex-end; }
.j-chat-msg--bot { align-self: flex-start; }
.j-chat-form { display: flex; gap: 8px; }
.j-chat-input { flex: 1 1 auto; min-width: 0; min-height: 44px; font: inherit; font-size: max(16px, 1em); }
.j-chat-send { cursor: pointer; min-height: 44px; }
.j-chat-dots { display: inline-flex; gap: 4px; }
.j-chat-dots i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .35; animation: j-chat-dot 1s infinite ease-in-out; }
.j-chat-dots i:nth-child(2) { animation-delay: .15s; }
.j-chat-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes j-chat-dot { 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .j-chat-dots i { animation: none; opacity: .7; } }
.j-form-msg:target { display: block !important; }
.j-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.j-form textarea, .j-form input { font: inherit; font-size: max(16px, 1em); box-sizing: border-box; max-width: 100%; }
.j-card > .j-form { margin-top: 22px; }
.film .srf.j-enquiry .j-form textarea { height: 6.5em; min-height: 0; resize: vertical; }
.j-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.j-reviews[hidden], .j-reviews [hidden] { display: none !important; }
.j-reviews .j-reviews-attr > span { font-family: Roboto, sans-serif !important; font-weight: 400 !important; font-size: 14px !important; line-height: 1.3; white-space: nowrap !important; color: var(--j-gm, #5E5E5E) !important; }
.j-reviews-list { list-style: none; margin: 0; padding: 0; }
.j-reviews-sum .j-review-stars { margin-right: 0.5em; letter-spacing: 0.08em; }
.j-reviews-ask { margin: 18px 0 0; }
.j-review-text { overflow-wrap: anywhere; }
.j-review-pic { border-radius: 50%; vertical-align: middle; }
