html, body { margin: 0; min-height: 100%; font-family: system-ui, sans-serif; color: #111827; }
[hidden] { display: none !important; }
[data-sh-cognigy-fallback] { max-width: 42rem; margin: 20vh auto 0; padding: 2rem; text-align: center; }
[data-sh-cognigy-fallback] a { display: inline-block; padding: 1rem 2rem; background: #1d4ed8; color: white; border-radius: .5rem; }
[data-sh-cognigy-fallback] a:focus-visible { outline: 3px solid #111827; outline-offset: 3px; }
[data-sh-cognigy-frame] { position: fixed; inset: 0 10% 0; width: 80%; max-width: 1080px; height: 100dvh; margin: auto; border: 0; z-index: 1; }
.sh-chat-logo { position: fixed; top: 1rem; left: 1rem; z-index: 2; }
.sh-chat-logo img { max-height: 4rem; max-width: 14rem; }
.sh-chat-background { position: fixed; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .03; z-index: -1; }
.sh-chat-frame, .sh-chat-frame .webchat { background: transparent !important; color-scheme: light; }
.sh-chat-frame .webchat { position: fixed; inset: 0; width: 100%; height: 100dvh; border-radius: 0 !important; }
.sh-chat-frame .webchat-toggle-button, .sh-chat-frame .webchat-header-close-button { display: none; }
@media (max-width: 720px) { [data-sh-cognigy-frame] { inset: 0; width: 100%; } }
/* Reserve header space only when the host actually renders a logo. */
.sh-chat-host:has(.sh-chat-logo) [data-sh-cognigy-frame] { top: 6rem; height: calc(100dvh - 6rem); }
