.ctcchat-root{--ctcchat-primary:#b20710;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;z-index:999999}
.ctcchat-floating{position:fixed;bottom:22px}.ctcchat-pos-right{right:20px}.ctcchat-pos-left{left:20px}
.ctcchat-launcher{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:var(--ctcchat-primary);color:#fff;padding:13px 18px;box-shadow:0 12px 35px rgba(0,0,0,.3);font-weight:800;cursor:pointer}.ctcchat-launcher-icon{font-size:21px}.ctcchat-launcher-avatar{width:30px;height:30px;border-radius:50%;overflow:hidden;background:#fff;display:grid;place-items:center;flex:0 0 30px}.ctcchat-launcher-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ctcchat-panel{position:relative;width:min(390px,calc(100vw - 24px));height:min(620px,calc(100vh - 100px));background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 18px 65px rgba(0,0,0,.35);display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08)}
.ctcchat-floating .ctcchat-panel{position:absolute;bottom:0}.ctcchat-pos-right .ctcchat-panel{right:0}.ctcchat-pos-left .ctcchat-panel{left:0}.ctcchat-floating.is-open .ctcchat-launcher{visibility:hidden}
.ctcchat-panel[hidden]{display:none!important}.ctcchat-panel header{background:linear-gradient(135deg,#111,var(--ctcchat-primary));color:#fff;padding:16px;display:flex;align-items:center;gap:11px}.ctcchat-panel header>div:nth-child(2){min-width:0;flex:1}.ctcchat-panel header strong,.ctcchat-panel header small{display:block}.ctcchat-panel header strong{font-size:16px}.ctcchat-panel header small{opacity:.84;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctcchat-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#fff;color:var(--ctcchat-primary);font-weight:900;flex:0 0 42px;border:2px solid rgba(255,255,255,.75)}.ctcchat-avatar img{width:100%;height:100%;object-fit:cover;display:block}.ctcchat-close{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:34px;height:34px;min-width:34px;min-height:34px;padding:0!important;margin:0;display:grid!important;place-items:center!important;line-height:1;cursor:pointer;appearance:none;-webkit-appearance:none}.ctcchat-close svg{display:block;width:19px;height:19px;fill:currentColor;pointer-events:none}
.ctcchat-messages{flex:1;overflow:auto;padding:16px;padding-bottom:calc(16px + var(--ctcchat-tail-space,0px));background:#f4f5f7;display:flex;flex-direction:column;gap:10px}.ctcchat-message{max-width:84%;padding:10px 13px;border-radius:15px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.ctcchat-message.bot{align-self:flex-start;background:#fff;color:#202124;border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.ctcchat-message.user{align-self:flex-end;background:var(--ctcchat-primary);color:#fff;border-bottom-right-radius:4px}.ctcchat-message a{color:inherit;text-decoration:underline;font-weight:700}.ctcchat-message.has-media{max-width:92%;padding:7px;overflow:hidden}.ctcchat-message.has-media .ctcchat-message-text{padding:4px 6px 5px}.ctcchat-media-card{display:block;margin:0 0 6px;padding:0;border-radius:11px;overflow:hidden;background:#111}.ctcchat-media-link{display:block;text-decoration:none!important;line-height:0;background:#111}.ctcchat-media-card img{display:block;width:100%;max-height:330px;object-fit:contain;background:#111;transition:transform .2s ease}.ctcchat-media-link:hover img,.ctcchat-media-link:focus img{transform:scale(1.015)}.ctcchat-media-card figcaption{margin:0;padding:7px 9px;background:rgba(0,0,0,.82);color:#fff;font-size:10px;line-height:1.3;font-weight:750;text-align:left}.ctcchat-message.pending{display:flex;gap:4px}.ctcchat-message.pending span{width:7px;height:7px;border-radius:50%;background:#777;animation:ctcchatPulse 1.2s infinite}.ctcchat-message.pending span:nth-child(2){animation-delay:.15s}.ctcchat-message.pending span:nth-child(3){animation-delay:.3s}@keyframes ctcchatPulse{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.ctcchat-continue-indicator{position:absolute;z-index:8;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ctcchat-primary);color:#fff;border:2px solid #fff;box-shadow:0 5px 16px rgba(0,0,0,.28);pointer-events:none;animation:ctcchatContinueDown 1.15s ease-in-out infinite}.ctcchat-continue-indicator[hidden]{display:none!important}.ctcchat-continue-indicator svg{display:block;width:20px;height:20px;fill:currentColor}.ctcchat-continue-indicator::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ctcchat-primary) 42%,transparent);animation:ctcchatContinueRing 1.15s ease-out infinite}@keyframes ctcchatContinueDown{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes ctcchatContinueRing{0%{opacity:.72;transform:scale(.72)}100%{opacity:0;transform:scale(1.18)}}
.ctcchat-quick{display:flex;gap:7px;overflow-x:auto;padding:9px 10px;background:#fff;border-top:1px solid #eee}.ctcchat-quick button{white-space:nowrap;border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer;color:#333}.ctcchat-quick button:hover{border-color:var(--ctcchat-primary);color:var(--ctcchat-primary)}
.ctcchat-form{display:flex;gap:8px;align-items:flex-end;padding:10px;background:#fff;border-top:1px solid #eee}.ctcchat-root .ctcchat-form textarea{flex:1;resize:none;min-height:42px;max-height:100px;border:1px solid #d6d8dc;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;outline:none;background:#fff!important;color:#202124!important;-webkit-text-fill-color:#202124!important;caret-color:#202124!important;opacity:1}.ctcchat-root .ctcchat-form textarea:focus{border-color:var(--ctcchat-primary);background:#fff!important;color:#202124!important;-webkit-text-fill-color:#202124!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--ctcchat-primary) 18%,transparent)}.ctcchat-root .ctcchat-form textarea::placeholder{color:#777!important;-webkit-text-fill-color:#777!important;opacity:1}
.ctcchat-root .ctcchat-form textarea:-webkit-autofill,.ctcchat-root .ctcchat-form textarea:-webkit-autofill:hover,.ctcchat-root .ctcchat-form textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#202124!important;caret-color:#202124!important}
.ctcchat-root .ctcchat-action-card input,.ctcchat-root .ctcchat-action-card select{background:#fff!important;color:#202124!important;-webkit-text-fill-color:#202124!important;caret-color:#202124!important}
.ctcchat-root .ctcchat-action-card input::placeholder{color:#777!important;-webkit-text-fill-color:#777!important;opacity:1}
.ctcchat-form button{width:43px;height:43px;min-width:43px;min-height:43px;padding:0!important;margin:0;border:0;border-radius:50%;background:var(--ctcchat-primary);color:#fff;display:grid!important;place-items:center!important;line-height:1;cursor:pointer;appearance:none;-webkit-appearance:none;align-self:flex-end}.ctcchat-form button svg{display:block;width:21px;height:21px;fill:currentColor;transform:translateX(1px);pointer-events:none}.ctcchat-form button:disabled{opacity:.5}.ctcchat-privacy{font-size:9px;color:#777;text-align:center;padding:0 12px 8px;margin:0;background:#fff}.ctcchat-inline{position:relative;max-width:440px;margin:20px auto}.ctcchat-inline .ctcchat-panel{width:100%;height:620px;max-height:80vh}
@media(max-width:600px){
  .ctcchat-floating{right:10px!important;left:10px!important;bottom:10px}
  .ctcchat-floating.is-open{
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }
  .ctcchat-floating .ctcchat-panel{
    position:fixed!important;
    top:var(--ctcchat-mobile-top,8px)!important;
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:auto!important;
    left:max(8px,env(safe-area-inset-left))!important;
    width:auto!important;
    height:var(--ctcchat-mobile-height,calc(100dvh - 16px))!important;
    max-height:var(--ctcchat-mobile-height,calc(100dvh - 16px))!important;
    min-height:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    border-radius:16px;
    transform:none!important;
    z-index:2147483647;
  }
  .ctcchat-floating .ctcchat-panel>header,
  .ctcchat-floating .ctcchat-quick,
  .ctcchat-floating .ctcchat-form,
  .ctcchat-floating .ctcchat-privacy{flex:0 0 auto}
  .ctcchat-floating .ctcchat-messages{min-height:72px;flex:1 1 auto}
  .ctcchat-launcher{margin-left:auto}
  .ctcchat-pos-left .ctcchat-launcher{margin-left:0}
  .ctcchat-panel header{padding-top:max(16px,env(safe-area-inset-top))}
}
.ctcchat-action-card{align-self:stretch;background:#fff;border:1px solid #ddd;border-radius:14px;padding:12px;display:grid;gap:9px;box-shadow:0 3px 12px rgba(0,0,0,.07);font-size:12px}.ctcchat-action-card>strong{font-size:14px;color:#181818}.ctcchat-action-card>small{color:#666;line-height:1.35}.ctcchat-action-card label{display:grid;gap:4px;font-weight:700;color:#333}.ctcchat-action-card input,.ctcchat-action-card select{width:100%;box-sizing:border-box;border:1px solid #d4d7dc;border-radius:9px;padding:9px;background:#fff;font:inherit}.ctcchat-action-card .ctcchat-confirm{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:8px;font-weight:500}.ctcchat-action-card .ctcchat-confirm input{width:auto;margin-top:2px}.ctcchat-action-card button{border:0;border-radius:10px;padding:10px;background:var(--ctcchat-primary);color:#fff;font-weight:800;cursor:pointer}.ctcchat-action-card button:disabled{opacity:.55}.ctcchat-action-status{margin:0;line-height:1.4;color:#333}
.ctcchat-heading{min-width:0;flex:1}.ctcchat-header-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.ctcchat-whatsapp{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.42);background:#25d366;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.16);white-space:nowrap}.ctcchat-whatsapp:hover,.ctcchat-whatsapp:focus{background:#20bd5a;color:#fff!important;transform:translateY(-1px)}.ctcchat-whatsapp svg{width:15px;height:15px;display:block;fill:currentColor}.ctcchat-message.pending.is-slow{display:block;font-size:12px;color:#666}.ctcchat-message.pending.is-slow em{font-style:normal}
@media(max-width:420px){.ctcchat-panel header{gap:8px;padding-left:12px;padding-right:10px}.ctcchat-avatar{width:38px;height:38px;flex-basis:38px}.ctcchat-panel header strong{font-size:14px}.ctcchat-panel header small{font-size:10px;max-width:150px}.ctcchat-whatsapp{padding:7px 8px;font-size:10px}.ctcchat-whatsapp svg{width:16px;height:16px}.ctcchat-close{width:32px;height:32px}}

/* Retrait intelligent du chatbot pendant la réservation sur téléphone. */
@media(max-width:782px){
  .ctcchat-floating{transition:transform .42s cubic-bezier(.22,.8,.24,1),opacity .28s ease,filter .36s ease;will-change:auto}
  .ctcchat-floating.ctcchat-reservation-hidden{transform:translate3d(calc(100% + 56px),0,0)!important;opacity:0;filter:blur(2px);pointer-events:none;visibility:hidden;transition:transform .42s cubic-bezier(.55,.05,.82,.35),opacity .28s ease,filter .28s ease,visibility 0s linear .44s}
}
@media(max-width:782px) and (prefers-reduced-motion:reduce){
  .ctcchat-floating,.ctcchat-floating.ctcchat-reservation-hidden{transition:none!important;filter:none!important}
}


@media(prefers-reduced-motion:reduce){.ctcchat-continue-indicator,.ctcchat-continue-indicator::after{animation:none!important}}

@media(max-width:600px){.ctcchat-message.has-media{max-width:96%}.ctcchat-media-card img{max-height:300px}}
