/* The shared site header stays above a bounded chat viewport. */
html{height:100%;overflow:hidden}
body{height:100%;overflow:hidden;color:#fff}
.customer-chat-page,.customer-chat-page *{box-sizing:border-box;font-family:'Intro Cond Black','Arial Black',sans-serif;font-weight:900}
.customer-chat-page{--chat-glass:rgba(24,24,24,.78);position:fixed;top:70px;left:50%;transform:translateX(-50%);height:calc(var(--chat-viewport,100dvh) - 70px);z-index:10;display:flex;flex-direction:column;width:100%;max-width:780px;min-height:0;margin:0 auto;background:rgba(20,20,20,.38);border-inline:1px solid #ffffff20}
.customer-chat-page [hidden]{display:none!important}
.customer-chat-header{position:relative;z-index:30;display:flex;align-items:center;gap:12px;flex:none;min-height:60px;padding:8px 10px;background:var(--chat-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #ffffff20}
.customer-chat-title{flex:1;min-width:0}.customer-chat-title h1{margin:0;font-size:23px;line-height:1.1;color:#fff;transform:translateY(2px)}.customer-chat-title span{display:block;margin-top:4px;font-size:10px;letter-spacing:1.2px;color:#aaa}
.customer-chat-notifications{position:relative}
.customer-chat-guest{padding:10px 18px;margin:0;color:#bcbcbc;font-size:12px;line-height:1.4}.customer-chat-guest a{color:#fff;text-underline-offset:3px}
.customer-chat-page .chat-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;padding:10px;border:1px solid transparent;border-radius:50%;background:transparent;color:#e8e8e8;cursor:pointer;text-decoration:none;appearance:none;touch-action:manipulation}
.customer-chat-page .chat-icon-button svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.customer-chat-page .chat-icon-button:hover,.customer-chat-page .chat-icon-button:focus-visible{background:#ffffff16;outline:none;border-color:#ffffff50}
.customer-chat-page .chat-icon-button[aria-pressed=true]{color:#fff;background:#ffffff18;border-color:#ffffff45}
.customer-conversation{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
.customer-messages{display:flex;flex-direction:column;flex:1;gap:9px;padding:16px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#ffffff35 transparent;overflow-anchor:none}
.customer-welcome{align-self:flex-start;color:#ddd;background:#ffffff0b;border:1px solid #ffffff25;border-radius:18px 18px 18px 5px;padding:12px 15px;font-size:16px;line-height:1.45}
.customer-chat-page .support-message{flex:none;align-self:flex-start;max-width:86%;min-width:0;scroll-margin-bottom:100px}.customer-chat-page .support-message.is-own{align-self:flex-end}
.customer-chat-page .support-message-bubble{background:#202020cc;border:1px solid #ffffff20;border-radius:19px 19px 19px 5px;padding:12px 14px 8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.3;color:#f5f5f5}
.customer-chat-page .is-own .support-message-bubble{background:#ffffff20;border-color:#ffffff40;border-radius:19px 19px 5px 19px}
.customer-chat-page .support-message-meta{display:flex;align-items:center;gap:5px;font-size:10px;line-height:12px;color:#aaa;padding:3px 3px 0}.customer-chat-page .is-own .support-message-meta{justify-content:flex-end}
.customer-chat-page .support-message a{display:block;margin-top:8px}.customer-chat-page .support-message img{display:block;max-width:100%;max-height:300px;border-radius:12px;object-fit:contain}
.customer-composer{position:relative;z-index:25;flex:none;width:100%;margin:0;padding:10px 12px max(10px,var(--chat-bottom-inset,env(safe-area-inset-bottom)));border-top:1px solid #ffffff20;background:var(--chat-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.customer-input-row{display:flex;align-items:flex-end;gap:6px;min-width:0;width:100%;padding:4px;background:#ffffff0b;border:1px solid #ffffff30;border-radius:28px}
.customer-input-row textarea{flex:1;min-width:0;width:0;min-height:44px;height:44px;max-height:84px;resize:none;overflow-y:auto;padding:14px 4px 10px;border:0;outline:0;border-radius:0;background:transparent;color:#fff;font-size:16px;line-height:20px;box-shadow:none;touch-action:pan-y}
.customer-input-row textarea::placeholder{color:#aaa}.customer-input-row:focus-within{border-color:#ffffff65}
.customer-chat-page .chat-send{background:#f0f0f0;color:#171717;border-color:#fff}.customer-chat-page .chat-send:hover{background:white;color:black}.customer-chat-page .chat-send:disabled{opacity:.45;cursor:wait}
.customer-attachment{display:flex;align-items:center;gap:10px;padding:0 8px 8px;font-size:12px;color:#ccc}.customer-attachment span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-attachment .chat-icon-button{height:32px;width:32px;min-width:32px;padding:6px}
.customer-chat-error{padding:10px 12px;margin:0 0 8px;background:#351c1c;border:1px solid #8c4444;border-radius:14px;color:#ffcaca;font-size:13px;line-height:1.4}
.customer-connection{display:block;color:#aaa;font-size:11px;text-align:center}.customer-connection:empty{display:none}
.chat-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.customer-chat-page .chat-new-button{position:absolute;bottom:calc(var(--composer-height,82px) + 12px);right:18px;z-index:35;background:#333;border-color:#777;box-shadow:0 4px 18px #0005}
.chat-history-button{align-self:center;padding:10px 16px;color:#ccc;background:#ffffff0b;border:1px solid #ffffff30;border-radius:24px;font-size:13px;cursor:pointer}
@media(max-width:600px){.customer-chat-page{border:0}.customer-chat-header{min-height:60px;padding:8px 10px;gap:8px}.customer-chat-title h1{font-size:23px}.customer-messages{padding:12px;gap:8px}.customer-chat-guest{padding:8px 14px;font-size:11px}.customer-composer{padding:8px 8px max(8px,var(--chat-bottom-inset,env(safe-area-inset-bottom)))}.customer-chat-page .support-message{max-width:89%}.customer-chat-page .support-message-bubble{padding:11px 12px 7px}.customer-input-row{gap:2px}.customer-chat-page .support-message img{max-height:220px}}

.customer-notify-reminder{margin:0 4px 8px;color:#ccc;font-size:12px;line-height:1.4}
.support-notify-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:320px;max-height:calc(100dvh - 40px);overflow:auto;padding:20px 20px 16px;background:rgba(24,24,24,.78);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#fff;border:1px solid #ffffff45;border-radius:28px;box-shadow:0 24px 80px #0009;font-family:'Intro Cond Black',sans-serif;text-align:center}
.support-notify-dialog::backdrop{background:#0008;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.support-notify-dialog-icon{display:grid;place-items:center;margin:0 auto 12px;width:44px;height:44px;border:1px solid #ffffff40;border-radius:19px;background:#ffffff10}.support-notify-dialog-icon svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.support-notify-dialog h2{margin:0 0 10px;font:900 25px/1.2 'Intro Cond Black',sans-serif}.support-notify-dialog p{margin:0;color:#bbb;font:900 15px/1.5 'Intro Cond Black',sans-serif}
.support-notify-dialog-actions{display:flex;gap:10px;margin-top:16px}.support-notify-dialog-actions button{flex:1;min-height:44px;padding:13px 12px 9px;border:1px solid #ffffff35;border-radius:24px;background:#ffffff10;color:white;font:900 16px/1.2 'Intro Cond Black',sans-serif;cursor:pointer}.support-notify-dialog-actions #support-notify-allow{background:#eee;color:#171717}.support-notify-dialog-actions button:disabled{opacity:.5}

.customer-chat-page button,.customer-chat-page a,.support-notify-dialog button{transition:background .18s,border-color .18s,opacity .18s,transform .18s}
.customer-chat-page button:active,.customer-chat-page .chat-icon-button:active,.support-notify-dialog button:active{transform:scale(.94)}
.customer-input-row{transition:border-color .2s,box-shadow .2s}.customer-input-row:focus-within{box-shadow:0 0 0 3px #ffffff06}
.support-message-meta time{transform:translateY(1px)}.chat-receipt{width:18px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-receipt.is-read{color:#eee}
.customer-chat-page .support-message,.customer-welcome,.customer-attachment,.customer-notify-reminder,.customer-chat-error,.chat-new-button{animation:chat-arrive .22s ease-out both}
.support-notify-dialog[open]{animation:chat-dialog-in .23s ease-out both}.support-notify-dialog[open]::backdrop{animation:chat-fade-in .23s ease-out both}
.support-notify-dialog h2,.support-notify-dialog p{transform:translateY(2px)}
.customer-notify-reminder{padding:8px 10px;background:#ffffff08;border:1px solid #ffffff16;border-radius:14px}
@keyframes chat-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes chat-dialog-in{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chat-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.customer-chat-page *,.support-notify-dialog,.support-notify-dialog *,.support-notify-dialog::backdrop{animation:none!important;transition:none!important}}

.customer-chat-page.chat-keyboard-open{--chat-bottom-inset:0px}
