/* Functional/accessibility corrections, independent of the frozen reference. */
[data-guest-support] [hidden]{display:none}
[data-guest-support] .chat-body{overflow-wrap:anywhere}
[data-guest-support] .chat-consent{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
[data-guest-support] .chat-head-avatar{padding:0;overflow:hidden;border:0;background:transparent;box-shadow:none}
[data-guest-support] .chat-head-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
[data-guest-support] .chat-send svg{width:15px;height:15px}
[data-guest-support] .chat-panel[hidden]{display:none}
[data-guest-support] .chat-panel{display:flex;flex-direction:column;overflow:hidden}
[data-guest-support] .chat-body{min-height:0;overflow-y:auto}
[data-guest-support] [data-guest-status]:empty,[data-guest-support] [data-guest-captcha-status]:empty{display:none}
[data-guest-support] .chat-captcha{min-height:100px;max-width:100%}
[data-guest-support] :where(a,button,input,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:768px){
[data-guest-support] .chat-fab{right:16px;bottom:16px;width:56px;height:56px}
[data-guest-support] .chat-panel{right:16px;bottom:84px;width:calc(100vw - 32px);max-height:calc(100dvh - 100px)}
[data-guest-support] :where(button,a,input){min-height:44px}
[data-guest-support] input,[data-guest-support] textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){[data-guest-support] *,[data-guest-support] *::before{animation:none;transition:none}}


@media (width <= 768px) { [data-guest-support] .chat-foot a { display:inline-flex; align-items:center; min-height:44px; } }

/* The copied #chatForm display rule must not override native completion visibility. */
[data-guest-support] #chatForm[hidden] { display:none; }

@media (width <= 768px) {
  [data-guest-support] .chat-panel a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
}

[data-guest-support] [data-guest-thread] { display:flex; flex-direction:column; gap:12px; }
[data-guest-support] [data-guest-thread][hidden] { display:none; }
[data-guest-support] [data-guest-thread] p { white-space:pre-wrap; overflow-wrap:anywhere; }
[data-guest-support] [data-guest-live-status]:empty { display:none; }


.unsaved-changes-dialog { position:fixed; inset:0; margin:auto; padding:0; border:0; background:transparent; color:var(--text); width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; font:inherit; }
.unsaved-changes-dialog:not([open]) { display:none; }
.unsaved-changes-dialog::backdrop { background:var(--modal-backdrop,var(--landing-reference-91)); backdrop-filter:blur(8px); }
.unsaved-changes-dialog .modal { width:100%; margin:0; max-height:none; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card,none); overflow:hidden; }
.unsaved-changes-dialog .modal-header { padding:20px; border-bottom:1px solid var(--border); }
.unsaved-changes-dialog h2 { margin:0; font-size:15px; font-weight:700; color:var(--text); }
.unsaved-changes-dialog .modal-body { margin:0; padding:20px; line-height:1.6; font-size:14px; color:var(--text-2); }
.unsaved-changes-dialog .modal-footer { display:flex; flex-wrap:wrap; justify-content:flex-end; padding:16px 20px; border-top:1px solid var(--border); gap:8px; }
.unsaved-changes-dialog .btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:var(--r-sm); color:var(--text); background:var(--surface-2); font:inherit; font-size:13px; font-weight:600; cursor:pointer; white-space:normal; }
.unsaved-changes-dialog .btn-primary { border-color:transparent; background:var(--gold-grad); color:var(--auth-reference-65,var(--bg)); }
.unsaved-changes-dialog .btn:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }

/* Match cabinet field focus: one border, without a second outline or glow. */
[data-guest-support] .chat-field :is(input,textarea):focus {
  border-color: var(--gold); outline: none; box-shadow: none;
}

/* Match registration consent and keep the emoji trigger within the composer. */
[data-guest-support] .chat-consent input[type="checkbox"] {
  appearance: none; width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; margin: 0;
  border: 0; border-radius: 0; background: transparent; position: relative;
}
[data-guest-support] .chat-consent input[type="checkbox"]::before {
  content: ''; display: block; position: absolute; left: calc((44px - var(--consent-size))/2); top: calc((44px - var(--consent-size))/2); width: var(--consent-size); height: var(--consent-size);
  border: 1px solid var(--border-strong); border-radius: var(--auth-reference-38); background: var(--auth-reference-72);
}
[data-guest-support] .chat-consent input[type="checkbox"]::after { display: none; }
[data-guest-support] .chat-consent input[type="checkbox"]:checked::before { background: var(--gold-grad); border-color: var(--border-gold); box-shadow: none; }
[data-guest-support] .chat-consent input[type="checkbox"]:checked::after {
  content: ''; display: block; position: absolute; left: calc(50% - 3px); top: calc(50% - 7px); width: 6px; height: 12px;
  border: solid var(--auth-reference-8); border-width: 0 2px 2px 0; border-radius: 0; background: transparent; box-shadow: none; transform: rotate(45deg);
}
[data-guest-support] .chat-consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
[data-guest-support] .chat-consent a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }

[data-guest-support] .chat-consent { --consent-size: 24px; font-size: 8px; line-height: 1.5; font-weight: 400; }
[data-guest-support] .chat-consent > span { font-size: inherit; }
[data-guest-support] .chat-consent a { display: inline-flex; align-items:center; min-width:44px; min-height:44px; font-size:11px; }
[data-guest-support] .chat-field:has(> [data-emoji-for]) { position: relative; }
[data-guest-support] .chat-field:has(> [data-emoji-for]) textarea { padding-bottom: 52px; }
[data-guest-support] .chat-field > [data-emoji-for] { position: absolute; left: 8px; bottom: 8px; width:44px; height:44px; min-height:44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--r-sm); background: var(--surface-2,var(--bg)); border:1px solid var(--border); font-size: 20px; cursor: pointer; }
