/* Shared presentation only. Every rule is gated to an explicitly activated v3 page.
   The original Case Chat buttons, labels, model, dialog and focus logic remain. */
body[data-design="v3"][data-experience-chat] #case-chat-entry.cc-launcher-wrap {
  position: fixed;
  z-index: 94;
  top: var(--experience-chat-top,50vh);
  right: 24px;
  left: auto;
  bottom: auto;
  display: block;
  width: 68px;
  max-width: calc(100vw - 32px);
  height: 74px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  isolation: isolate;
  transition: opacity 160ms ease;
}
body[data-design="v3"][data-experience-chat] [data-experience-chat-relocated]:empty { display:none; }
body[data-design="v3"][data-experience-chat] #case-chat-dock { display:none !important; }
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: none;
  min-height: 74px;
  height: 74px;
  padding: 10px 14px 10px 10px;
  border-radius: 22px;
  border: 1px solid rgba(208,231,255,.48);
  background:
    linear-gradient(128deg,rgba(225,242,255,.16),transparent 38%,rgba(101,149,216,.10)),
    rgba(8,24,63,.91);
  color: #fff;
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  box-shadow: inset 0 1px 0 rgba(244,250,255,.55),inset 0 -1px 0 rgba(0,7,29,.55),
    0 5px 12px -6px rgba(0,8,30,.45),0 17px 38px -17px rgba(0,8,30,.5);
  overflow: visible;
  transform: none;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  transition: border-color 180ms ease,background-color 180ms ease,transform 120ms var(--ex-ease,cubic-bezier(.23,1,.32,1));
}
@media (hover:hover) and (pointer:fine) {
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher:hover {
    transform:none;
    border-color:rgba(249,233,0,.8);
  }
}
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher:active { transform:scale(.97); }
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy { flex:1; min-width:0; }
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy strong {
  color:#fff;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:0;
  overflow-wrap:normal;
}
/* Keep the localized hint available to aria-describedby without making the fixed
   launcher a large text card. The existing dialog explains its guided scope. */
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy>span {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__go { display:none; }
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot {
  position:relative;
  width:48px;
  height:48px;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  flex:none;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot :is(svg,img) {
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  transform-origin:50% 92%;
  animation:experience-chat-hop 1.65s infinite;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot::after {
  content:"";
  position:absolute;
  width:29px;
  height:6px;
  left:10px;
  bottom:2px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,5,22,.7),rgba(0,5,22,.28) 52%,transparent 76%);
  transform-origin:center;
  opacity:.44;
  pointer-events:none;
  animation:experience-chat-ground-shadow 1.65s infinite;
}
/* A continuous hop with compression at contact, stretch on ascent and a small
   rebound. Only transform/opacity animate; the fixed hit target stays still. */
@keyframes experience-chat-hop {
  0%,100% { transform:translateY(0) rotate(0) scale(1,1); }
  10% { transform:translateY(2px) rotate(-2deg) scale(1.12,.84); animation-timing-function:cubic-bezier(.18,.72,.3,1); }
  42% { transform:translateY(-22px) rotate(-4deg) scale(.94,1.07); animation-timing-function:cubic-bezier(.65,0,.88,.4); }
  76% { transform:translateY(2px) rotate(1deg) scale(1.12,.85); animation-timing-function:cubic-bezier(.2,.75,.3,1); }
  88% { transform:translateY(-4px) rotate(1deg) scale(.98,1.025); animation-timing-function:ease-in; }
  96% { transform:translateY(1px) rotate(0) scale(1.035,.96); }
}
@keyframes experience-chat-ground-shadow {
  0%,100% { transform:scale(1); opacity:.44; }
  10%,76% { transform:scale(1.15,.9); opacity:.55; }
  42% { transform:scale(.54,.75); opacity:.17; }
  88% { transform:scale(.84,.9); opacity:.33; }
  96% { transform:scale(1.04); opacity:.47; }
}
@keyframes experience-chat-label {
  from { opacity:0;transform:translateX(5px); }
  to { opacity:1;transform:none; }
}
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-symbol-line { fill:none; }
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot img { display:block;object-fit:contain; }
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="false"] { width:180px; }
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="false"] .cc-launcher__copy { animation:experience-chat-label 180ms ease-out both; }
/* The single footer Accessibility setting owns motion. Preserve the old button
   and its handler for native controller compatibility, outside the focus order. */
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-motion-toggle { display:none !important; }
body[data-design="v3"][data-experience-chat] #case-chat-entry button:focus-visible {
  outline:3px solid #f9e900;outline-offset:4px;box-shadow:0 0 0 6px #0c1d55;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="true"] { width:68px; }
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="true"] .cc-launcher { padding-inline:9px;justify-content:center; }
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="true"] .cc-launcher__copy {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-obscured="true"] {
  opacity:0;visibility:hidden;pointer-events:none;
}
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-motion="false"] .cc-mascot :is(svg,img),
body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-motion="false"] .cc-mascot::after,
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher.cc-motion-paused .cc-mascot :is(svg,img),
body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher.cc-motion-paused .cc-mascot::after,
html.cinema-motion-paused body[data-design="v3"] #case-chat-entry .cc-mascot :is(svg,img),
html.cinema-motion-paused body[data-design="v3"] #case-chat-entry .cc-mascot::after {
  animation:none !important;
}
html.cinema-motion-paused body[data-design="v3"] #case-chat-dialog,
html.cinema-motion-paused body[data-design="v3"] #case-chat-dialog>* {
  animation:none !important;transition:none !important;transform:none !important;opacity:1 !important;
}
body[data-design="v3"][data-experience-chat] #case-chat-dialog {
  max-height:calc(100dvh - 32px);
  border-color:rgba(199,219,247,.78);
  box-shadow:0 28px 90px rgba(0,8,33,.42),inset 0 1px 0 rgba(255,255,255,.8);
}
@media(max-width:767px) {
  /* A stable touch target. Only visual-viewport/keyboard changes affect these
     offsets; moving text, media and questionnaire cards never reposition it. */
  body[data-design="v3"][data-experience-chat] #case-chat-entry.cc-launcher-wrap {
    top:auto;
    bottom:calc(20px + env(safe-area-inset-bottom,0px) + var(--experience-chat-viewport-bottom,0px));
    right:calc(16px + env(safe-area-inset-right,0px) + var(--experience-chat-viewport-right,0px));
    width:56px;height:56px;transform:none;
  }
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher {
    min-height:56px;height:56px;padding:7px;border-radius:18px;
  }
  body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="true"] .cc-launcher { padding:7px; }
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot,
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot :is(svg,img) { width:40px;height:40px; }
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-mascot::after { width:24px;left:8px; }
  html:has(>body[data-design="v3"][data-experience-chat]) { scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
  body[data-design="v3"][data-experience-chat] .site-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
  /* Leave a physical right-side lane beside questionnaire actions. The mobile
     launcher stays on the right in every language, so this must not flip in RTL. */
  body[data-design="v3"][data-experience-chat] :is(.quiz-actions,.hi-actions,.erc-actions,.service-contact-actions,.hi-contact>div) {
    box-sizing:border-box;min-width:0;padding-right:calc(72px + env(safe-area-inset-right,0px));flex-wrap:wrap;
  }
  body[data-design="v3"][data-experience-chat] :is(.quiz-actions,.hi-actions,.erc-actions,.service-contact-actions,.hi-contact>div)>:is(button,a) {
    min-width:0;max-width:100%;overflow-wrap:anywhere;
  }
  body[data-design="v3"][data-experience-chat] [data-lead-form] .lead-card .lead-submit {
    width:calc(100% - 72px - env(safe-area-inset-right,0px));max-width:calc(100% - 72px - env(safe-area-inset-right,0px));
    margin-right:calc(72px + env(safe-area-inset-right,0px));min-height:48px;height:auto;padding-block:10px;white-space:normal;
  }
  body[data-design="v3"][data-experience-chat] #case-chat-dialog .cc-language select { font-size:16px; }
  body[data-design="v3"][data-experience-chat] #case-chat-dialog :is(button,a,select,summary) { touch-action:manipulation; }
  body[data-design="v3"][data-experience-chat] #case-chat-dialog { width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:min(720px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);border-radius:22px; }
}
@media(max-width:480px) {
  body[data-design="v3"][data-experience-chat] :is(.quiz-actions,.hi-actions) { flex-direction:column;align-items:stretch;gap:10px; }
  body[data-design="v3"][data-experience-chat] :is(.quiz-actions,.hi-actions)>:is(.quiz-back,[data-hi-back],[data-hi-restart]) { align-self:flex-start; }
  body[data-design="v3"][data-experience-chat] :is(.quiz-actions,.hi-actions)>:is(.quiz-next,.hi-primary) { width:100%;max-width:100%;min-height:48px; }
}
html[dir=rtl] body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher { direction:ltr; }
html[dir=rtl] body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy { direction:rtl;text-align:right; }
html[dir=rtl] body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy strong { font-size:12px;line-height:1.8; }
@media(prefers-reduced-motion:reduce) {
  body[data-design="v3"] #case-chat-entry .cc-mascot :is(svg,img),body[data-design="v3"] #case-chat-entry .cc-mascot::after { animation:none !important; }
  body[data-design="v3"] #case-chat-entry,body[data-design="v3"] #case-chat-entry * { transition:none !important; }
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher { padding-right:12px; }
  body[data-design="v3"][data-experience-chat] #case-chat-entry[data-experience-chat-compact="true"] .cc-launcher { padding-inline:8px;justify-content:center; }
}
@media(prefers-reduced-transparency:reduce) {
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher { background:#0c1d55;-webkit-backdrop-filter:none;backdrop-filter:none; }
}
@media(forced-colors:active) {
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher,
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-motion-toggle {
    background:Canvas;color:CanvasText;border:2px solid CanvasText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  }
  body[data-design="v3"][data-experience-chat] #case-chat-entry .cc-launcher__copy strong { color:CanvasText; }
  body[data-design="v3"] #case-chat-entry .cc-mascot::after { display:none; }
}
