/* Chat Widget — multi-onglets (style iPhone) */
.chat-widget{position:fixed;bottom:125px;right:30px;width:min(400px,calc(100vw - 32px));height:min(700px,90vh);border-radius:8px;box-shadow:0 8px 32px rgba(15,24,46,.25);display:none;flex-direction:column;z-index:1001;overflow:hidden;transform:translateY(20px) scale(0.95);opacity:0;transition:transform .3s ease,opacity .3s ease}
.chat-widget.open{display:flex;transform:translateY(0) scale(1);opacity:1}

.chat-widget-header{background:var(--bleu-principal);color:var(--blanc);padding:var(--s-4) var(--s-5);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.chat-widget-header-title{display:block;margin:0;font-family:'Satoshi',sans-serif;font-weight:600;font-size:1.125rem}
.chat-widget-status{margin:0.2rem 0 0;font-size:0.8125rem;opacity:0.95;display:flex;align-items:center;gap:0.5rem}
.chat-status-dot{transition:color .2s ease}
.chat-status-dot.status-available{color:#86efac}
.chat-status-dot.status-unavailable{color:#fca5a5}
.chat-widget-close{background:none;border:none;color:var(--blanc);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s;flex-shrink:0}
.chat-widget-close:hover{background:rgba(255,255,255,.15)}
.chat-widget-close i{font-size:20px}

.chat-widget-body{flex:1;min-height:0;overflow:hidden;position:relative;background:var(--blanc)}
.chat-tab-panel{display:none;flex-direction:column;height:100%;overflow:hidden;padding:0}
.chat-tab-panel.active{display:flex}
.chat-tab-panel[data-tab="rappel"]{padding:var(--s-12) 0}
.chat-tab-panel[data-tab="ressources"],
.chat-tab-panel[data-tab="devis"]{overflow-y:auto}
.chat-tab-panel .chat-form,.chat-tab-panel .chat-resources-block{padding:var(--s-5)}

.chat-bubbles{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.chat-bubble{padding:var(--s-2) var(--s-4);background:var(--gris);border:none;border-radius:8px;font-family:'Satoshi',sans-serif;font-size:var(--fs-small);font-weight:500;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease}
.chat-bubble:hover{background:var(--bleu-principal);color:var(--blanc)!important}
.chat-bubble:active{transform:scale(0.98)}

.chat-messages-wrap{flex:1;display:flex;flex-direction:column;min-height:0}
.chat-widget-messages{flex:1;overflow-y:auto;padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);min-height:0}
.chat-widget-messages::-webkit-scrollbar{width:5px}
.chat-widget-messages::-webkit-scrollbar-thumb{background:var(--gris);border-radius:3px}

.chat-message{display:flex;animation:chatMessageSlide .25s ease}
@keyframes chatMessageSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.chat-message-user{flex-direction:row-reverse}
.chat-message-content{padding:var(--s-3) var(--s-4);border-radius:8px}
.chat-message-bot .chat-message-content{background:var(--gris);color:var(--text)}
.chat-message-user .chat-message-content{background:var(--bleu-principal);color:var(--blanc)}
.chat-message-content p{margin:0 0 var(--s-1) 0;font-size:var(--fs-small);font-family:'Satoshi', sans-serif;}
.chat-message-content p:last-child{margin-bottom:0}
.chat-message-content a{color:inherit;text-decoration:underline}

.chat-widget-input-container{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--gris);flex-shrink:0;background:var(--blanc);align-items:center}
.chat-widget-input{flex:1;padding:10px 12px;border:none;border-radius:8px;font-family:'General Sans',sans-serif;font-size:0.9375rem}
.chat-widget-input:focus{outline:none}
.chat-widget-send{background:var(--bleu-principal);color:var(--blanc);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}
.chat-widget-send:hover{transform:scale(1.05)}
.chat-widget-send:disabled{opacity:0.5;cursor:not-allowed;transform:none}
.chat-widget-send i{font-size:16px}

.chat-cta.loading{opacity:0.8;pointer-events:none}

.chat-devis-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);padding:var(--s-5)}
.chat-devis-card{display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:var(--gris);border-radius:8px;font-family:'Satoshi',sans-serif;font-size:0.875rem;font-weight:500;color:var(--text);text-decoration:none;text-align:center;transition:background .2s ease,color .2s ease}
.chat-devis-card:hover{background:var(--bleu-principal);color:var(--blanc) !important}

.chat-resources-block{margin-bottom:var(--s-6)}
.chat-resources-block:last-child{margin-bottom:0}
.chat-resources-title{font-size:0.8125rem;font-weight:600;color:var(--muted);margin:0 0 var(--s-2);font-family:'Satoshi',sans-serif}
.chat-resource-link{display:block;padding:var(--s-2) 0;font-size:0.9375rem;color:var(--bleu-principal);text-decoration:none;transition:color .2s}
.chat-resource-link:hover{color:var(--bleu-secondaire);text-decoration:underline}

.chat-tab-bar{display:flex;border-top:1px solid var(--gris);background:var(--blanc);flex-shrink:0}
.chat-tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--s-3) var(--s-2);background:none;border:none;cursor:pointer;color:var(--muted);font-size:0.625rem;font-family:'Satoshi',sans-serif;transition:color .2s,background .2s;min-height:56px}
.chat-tab-bar-item i{font-size:22px}
.chat-tab-bar-item:hover{color:var(--bleu-principal);background:rgba(15,24,46,.03)}
.chat-tab-bar-item.active{color:var(--bleu-principal);font-weight:600}
@media(min-width:480px){.chat-tab-label{opacity:0;transition:opacity .2s}.chat-tab-bar-item:hover .chat-tab-label,.chat-tab-bar-item.active .chat-tab-label{opacity:1}}
@media(max-width:479px){.chat-tab-bar-item{min-height:60px;padding:var(--s-3)}.chat-tab-bar-item i{font-size:24px}.chat-tab-label{font-size:0.6875rem}}

.chat-loading{display:flex;gap:4px;padding:var(--s-3)}
.chat-loading span{width:6px;height:6px;background:var(--bleu-principal);border-radius:50%;animation:chatLoading 1.2s infinite}
.chat-loading span:nth-child(2){animation-delay:0.15s}
.chat-loading span:nth-child(3){animation-delay:0.3s}
@keyframes chatLoading{0%,60%,100%{transform:translateY(0);opacity:0.6}30%{transform:translateY(-6px);opacity:1}}

