/* All rules are scoped: Elementor's legacy form styles must not bleed into the chat. */
.tvjc-dock{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:99980}
#tvj-course-chat .tvjc-launch{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 18px 10px 12px;border:2px solid #fff;border-radius:30px;background:#082c44;color:#fff;box-shadow:0 5px 22px #06284d30;font:700 15px/1.4 Manrope,'Segoe UI',sans-serif;text-transform:none;letter-spacing:normal;cursor:pointer}
.tvjc-icon{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid #8bdaee;border-radius:50%;color:#b5edff;font-size:20px}
dialog.tvjc-dialog{--chat-ink:#102e43;--chat-blue:#075b91;--chat-muted:#496474;--chat-surface:#fff;--chat-soft:#edf5f9;--chat-line:#bfd0dc;position:fixed;inset:auto auto 24px 24px;margin:0;width:min(460px,calc(100vw - 48px));max-width:100%;height:min(740px,calc(100vh - 64px));height:min(740px,calc(100dvh - 64px));max-height:100%;padding:0;border:1px solid var(--chat-line);border-radius:22px;background:var(--chat-surface);color:var(--chat-ink);box-shadow:0 24px 90px #021a3c40;font:400 16px/1.6 Manrope,'Segoe UI',sans-serif;text-align:left;overflow:hidden;color-scheme:light}
dialog.tvjc-dialog[open]{display:flex;flex-direction:column}
dialog.tvjc-dialog::backdrop{background:#06223e65}
.tvjc-dialog *{box-sizing:border-box;letter-spacing:normal;text-transform:none}
.tvjc-dialog .tvjc-head{display:flex;flex:none;justify-content:space-between;gap:12px;align-items:flex-start;padding:24px 22px 18px;background:#082c44;color:#fff;border-bottom:3px solid #69c7e1}
.tvjc-dialog .tvjc-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:#a6e2f3;margin:0 0 7px;line-height:1.5}
.tvjc-dialog #tvjc-title{font-size:25px;line-height:1.2;font-weight:700;color:#fff;letter-spacing:-.035em;margin:0}
.tvjc-dialog button{font:600 14px/1.4 Manrope,'Segoe UI',sans-serif;box-shadow:none;cursor:pointer;min-height:44px;border-radius:10px;white-space:normal;text-align:center;text-decoration:none}
.tvjc-dialog .tvjc-close{flex:none;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #638698;background:transparent;color:#fff;font-size:29px;font-weight:400;line-height:1}
.tvjc-dialog .tvjc-description{flex:none;margin:0;padding:10px 22px;background:var(--chat-soft);color:var(--chat-muted);font:500 12px/1.5 Manrope,'Segoe UI',sans-serif;border-bottom:1px solid var(--chat-line)}
.tvjc-dialog .tvjc-log{flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px;scrollbar-gutter:stable;overflow-wrap:anywhere;background:var(--chat-surface)}
.tvjc-dialog .tvjc-message{margin:0 0 22px;max-width:100%;color:var(--chat-ink)}
.tvjc-dialog .tvjc-message:last-child{margin-bottom:0}
.tvjc-dialog .tvjc-speaker{display:block;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.045em;color:var(--chat-muted);margin-bottom:7px}
.tvjc-dialog .tvjc-message p{font-size:var(--tvj-reading-size,1rem);line-height:1.65;color:var(--chat-ink);margin:0;white-space:pre-line}
.tvjc-dialog .tvjc-question{margin-left:32px;background:var(--chat-soft);border:1px solid var(--chat-line);padding:12px 15px;border-radius:14px 14px 3px 14px}
.tvjc-dialog .tvjc-links{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.tvjc-dialog .tvjc-links a{display:block;min-height:44px;align-content:center;padding:9px 0;color:var(--chat-blue);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.tvjc-dialog .tvjc-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.tvjc-dialog .tvjc-choice{background:var(--chat-surface);color:var(--chat-blue);border:1px solid #7b9aaa;padding:9px 12px;border-radius:9px;text-align:left;font-size:13px;line-height:1.4;max-width:100%}
.tvjc-dialog .tvjc-choice:hover,.tvjc-dialog .tvjc-choice:focus-visible{background:var(--chat-soft);border-color:var(--chat-blue)}
.tvjc-dialog .tvjc-form{flex:none;background:var(--chat-surface);padding:14px 22px 4px;border-top:1px solid var(--chat-line);margin:0}
.tvjc-dialog .tvjc-form label{display:block;color:var(--chat-ink);font-size:13px;line-height:1.5;font-weight:700;margin:0 0 7px}
.tvjc-dialog .tvjc-field{display:flex;gap:8px;align-items:stretch}
.tvjc-dialog .tvjc-form #tvjc-question{display:block;flex:1;width:0;min-width:0;min-height:48px;height:auto;padding:11px 12px;font:400 16px/1.5 Manrope,'Segoe UI',sans-serif;background:var(--chat-surface);color:var(--chat-ink);border:1px solid #718c9f;border-radius:10px;box-shadow:none}
.tvjc-dialog .tvjc-form #tvjc-question::placeholder{color:var(--chat-muted);opacity:1}
.tvjc-dialog .tvjc-send{flex:none;padding:10px 14px;background:var(--chat-blue);color:var(--chat-surface);border:1px solid var(--chat-blue);font-size:14px}
.tvjc-dialog .tvjc-send:hover{background:#06466f;color:#fff}
.tvjc-dialog .tvjc-bottom{flex:none;padding:0 22px 15px;background:var(--chat-surface);color:var(--chat-muted)}
.tvjc-dialog .tvjc-controls{display:flex;justify-content:space-between;gap:8px}
.tvjc-dialog .tvjc-text-button{background:transparent;color:var(--chat-blue);border:0;padding:6px 0;border-radius:3px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.tvjc-dialog button:disabled{color:var(--chat-muted);cursor:default;text-decoration:none;opacity:1}
.tvjc-dialog .tvjc-privacy,.tvjc-dialog .tvjc-status{font:400 11px/1.55 Manrope,'Segoe UI',sans-serif;color:var(--chat-muted);margin:0}
.tvjc-dialog .tvjc-status:not(:empty){margin-bottom:8px;font-size:12px}
#tvj-course-chat :focus-visible,.tvjc-dialog :focus-visible{outline:3px solid #1475d1!important;outline-offset:3px!important}
.tvjc-dialog .tvjc-head :focus-visible{outline-color:#b5edff!important}
.tvjc-dialog #tvjc-title:focus{outline:none}
html.tvj-high-contrast dialog.tvjc-dialog{--chat-ink:#fff;--chat-blue:#b5e5ff;--chat-muted:#e2eaf1;--chat-surface:#071826;--chat-soft:#122d40;--chat-line:#b5c7d4;color-scheme:dark;border:2px solid #fff}
html.tvj-high-contrast #tvj-course-chat .tvjc-launch{background:#071826;color:#fff;border-color:#fff}
@media(max-width:600px){.tvjc-dock{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}#tvj-course-chat .tvjc-launch{min-height:52px;padding:8px 12px 8px 9px;font-size:14px;gap:8px}.tvjc-icon{width:27px;height:27px}dialog.tvjc-dialog{inset:12px 12px auto;width:calc(100% - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);border-radius:18px}.tvjc-dialog .tvjc-head{padding:18px 17px 15px}.tvjc-dialog #tvjc-title{font-size:23px}.tvjc-dialog .tvjc-description{padding:9px 17px;font-size:11px}.tvjc-dialog .tvjc-log{padding:17px}.tvjc-dialog .tvjc-form{padding:12px 17px 4px}.tvjc-dialog .tvjc-bottom{padding:0 17px 12px}.tvjc-dialog .tvjc-privacy{font-size:10.5px}}
@media(max-width:350px){#tvj-course-chat .tvjc-launch{padding:8px 10px;font-size:12px;gap:6px}.tvjc-icon{width:22px;height:22px;font-size:16px}.tvjc-dialog .tvjc-send{padding:10px}.tvjc-dialog #tvjc-title{font-size:21px}}
@media(max-height:520px){.tvjc-dialog .tvjc-head{padding:10px 16px}.tvjc-dialog .tvjc-description,.tvjc-dialog .tvjc-privacy{display:none}.tvjc-dialog .tvjc-bottom{padding-bottom:5px}.tvjc-dialog .tvjc-form{padding-top:8px}dialog.tvjc-dialog{height:calc(100dvh - 24px);inset:12px auto auto 12px}}
@media(forced-colors:active){.tvjc-dialog button,.tvjc-dialog input,#tvj-course-chat .tvjc-launch{border:1px solid ButtonText}.tvjc-dialog :focus-visible{outline-color:Highlight!important}}
@media print{.tvjc-dialog,.tvjc-dock{display:none!important}}
