/* EFC Chatbot Frontend Styles */
.efc-chatbot { position: fixed; bottom: 16px; right: 16px; z-index: 9999; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.efc-chatbot .efc-chat-bubble { width:56px; height:56px; background: linear-gradient(135deg, var(--ef-accent-1), var(--ef-accent-2)); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 8px 32px rgba(10, 44, 95, 0.15); transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; color:#fff; border:none; outline:none; }
.efc-chatbot .efc-chat-bubble:hover { transform: scale(1.05); box-shadow:0 12px 40px rgba(10, 44, 95, 0.25); }
.efc-chatbot .efc-chat-bubble:active { transform: scale(.98); }
.efc-chatbot .efc-unread-dot { position:absolute; top:6px; right:6px; width:12px; height:12px; background:#ff4444; border-radius:50%; border:2px solid #fff; animation: efc-pulse 2s infinite; }
@keyframes efc-pulse { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.7; transform:scale(1.1);} }
.efc-chatbot .efc-chat-panel { position:absolute; bottom:72px; right:0; width:360px; height:500px; background: radial-gradient(circle at top right, rgba(35,172,218,.03), rgba(8,201,188,.03)), var(--ef-bg); border-radius:20px; box-shadow:0 8px 32px rgba(10, 44, 95, 0.15); display:flex; flex-direction:column; overflow:hidden; transform: scale(.9) translateY(20px); opacity:0; transition: all .3s cubic-bezier(.4,0,.2,1); border:1px solid rgba(255,255,255,.2); backdrop-filter: blur(10px); }
.efc-chatbot .efc-chat-panel.efc-open { transform: scale(1) translateY(0); opacity:1; }
.efc-chatbot .efc-chat-header { padding:16px 20px 14px; background: var(--ef-primary); color:#fff; display:flex; justify-content:space-between; align-items:center; flex-shrink:0; }
.efc-chatbot .efc-header-info h4 { margin:0 0 2px 0; font-size:16px; font-weight:600; color:#fff; line-height:1.2; }
.efc-chatbot .efc-header-info span { font-size:12px; opacity:.8; color: rgba(255,255,255,.8); }
.efc-chatbot .efc-header-actions { display:flex; gap:6px; align-items:center; }
.efc-chatbot .efc-clear-chat, .efc-chatbot .efc-minimize-chat { background: rgba(255,255,255,.1); border:none; color:#fff; cursor:pointer; border-radius:16px; display:flex; align-items:center; justify-content:center; transition: all .2s; backdrop-filter: blur(10px); }
.efc-chatbot .efc-clear-chat { font-size:11px; padding:6px 10px; gap:4px; border-radius:16px; }
.efc-chatbot .efc-clear-chat:hover { background: rgba(255,255,255,.2); transform: translateY(-1px); }
.efc-chatbot .efc-minimize-chat { padding:8px; border-radius:50%; }
.efc-chatbot .efc-minimize-chat:hover { background: rgba(255,255,255,.2); transform: scale(1.05); }
.efc-chatbot .efc-messages { flex:1; padding:16px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; }
.efc-chatbot .efc-messages::-webkit-scrollbar { width:4px; }
.efc-chatbot .efc-messages::-webkit-scrollbar-thumb { background: rgba(107,122,144,.3); border-radius:2px; }
.efc-chatbot .efc-message { max-width:85%; padding:10px 14px; border-radius:16px; font-size:14px; line-height:1.4; word-wrap:break-word; word-break:break-word; animation: efc-message-slide .3s ease-out; }
@keyframes efc-message-slide { from { opacity:0; transform: translateY(10px);} to { opacity:1; transform: translateY(0);} }
.efc-chatbot .efc-message.efc-user { align-self:flex-end; background: linear-gradient(135deg, var(--ef-accent-1), var(--ef-accent-2)); color:#fff; border-bottom-right-radius:4px; }
.efc-chatbot .efc-message.efc-assistant { align-self:flex-start; background:#fff; color: var(--ef-primary); border:1px solid rgba(107,122,144,.1); border-bottom-left-radius:4px; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.efc-chatbot .efc-typing { align-self:flex-start; background:#fff; border:1px solid rgba(107,122,144,.1); border-radius:16px; border-bottom-left-radius:4px; padding:12px 16px; display:flex; gap:4px; align-items:center; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.efc-chatbot .efc-typing-dot { width:6px; height:6px; background: var(--ef-muted); border-radius:50%; animation: efc-typing-bounce 1.4s infinite both; }
.efc-chatbot .efc-typing-dot:nth-child(2){ animation-delay:.2s;} .efc-chatbot .efc-typing-dot:nth-child(3){ animation-delay:.4s;}
@keyframes efc-typing-bounce { 0%,80%,100%{ transform: translateY(0); opacity:.5;} 40%{ transform: translateY(-4px); opacity:1; } }
.efc-chatbot .efc-whatsapp-btn, .efc-chatbot .efc-download-btn, .efc-chatbot .efc-website-btn { display:inline-flex; align-items:center; gap:8px; color:#fff; padding:8px 14px; border-radius:20px; text-decoration:none; font-size:13px; font-weight:500; margin-top:8px; transition: all .2s; border:none; cursor:pointer; }
.efc-chatbot .efc-whatsapp-btn { background: var(--ef-whatsapp); box-shadow:0 2px 8px rgba(37,211,102,.3); }
.efc-chatbot .efc-whatsapp-btn:hover { background:#22c55e; transform: translateY(-1px); box-shadow:0 4px 12px rgba(37,211,102,.4); }
.efc-chatbot .efc-download-btn { background: linear-gradient(135deg, var(--ef-primary), var(--ef-accent-1)); box-shadow:0 2px 8px rgba(10,44,95,.3); }
.efc-chatbot .efc-download-btn:hover { background: linear-gradient(135deg, var(--ef-accent-1), var(--ef-accent-2)); transform: translateY(-1px); box-shadow:0 4px 12px rgba(10,44,95,.4); }
.efc-chatbot .efc-website-btn { background: linear-gradient(135deg, var(--ef-accent-2), var(--ef-primary)); box-shadow:0 2px 8px rgba(8,201,188,.3); margin-right:8px; }
.efc-chatbot .efc-website-btn:hover { background: linear-gradient(135deg, var(--ef-accent-1), var(--ef-accent-2)); transform: translateY(-1px); box-shadow:0 4px 12px rgba(8,201,188,.4); }
.efc-chatbot .efc-input-area { padding:12px 16px 16px; background: rgba(255,255,255,.8); backdrop-filter: blur(20px); border-top:1px solid rgba(255,255,255,.3); flex-shrink:0; }
.efc-chatbot .efc-input-wrapper { display:flex; gap:8px; align-items:flex-end; background:#fff; border-radius:24px; padding:4px; box-shadow:0 2px 12px rgba(0,0,0,.08); border:1px solid rgba(107,122,144,.1); }
.efc-chatbot .efc-message-input { flex:1; border:none; padding:10px 14px; font-size:14px; font-family:inherit; resize:none; outline:none; background:transparent; min-height:20px; max-height:80px; line-height:1.4; border-radius:20px; }
.efc-chatbot .efc-send-btn { width:36px; height:36px; border-radius:50%; border:none; background: linear-gradient(135deg, var(--ef-accent-1), var(--ef-accent-2)); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition: all .2s; flex-shrink:0; box-shadow:0 2px 8px rgba(35,172,218,.3); }
.efc-chatbot .efc-send-btn:hover:not(:disabled) { transform: scale(1.05); box-shadow:0 4px 12px rgba(35,172,218,.4); }
.efc-chatbot .efc-send-btn:disabled { opacity:.5; cursor:not-allowed; }

/* Mobile */
@media (max-width:768px){
	.efc-chatbot { bottom:12px; right:12px; left:12px; }
	.efc-chatbot .efc-chat-bubble{ width:52px; height:52px; }
	.efc-chatbot .efc-chat-panel{ width:calc(100vw - 24px); height:calc(100vh - 140px); max-height:500px; bottom:68px; right:0; left:0; margin:0 auto; border-radius:16px; }
	.efc-chatbot .efc-chat-header{ padding:14px 16px 12px; }
	.efc-chatbot .efc-message{ max-width:90%; padding:9px 12px; font-size:13px; border-radius:14px; }
	.efc-chatbot .efc-message.efc-user{ border-bottom-right-radius:3px; }
	.efc-chatbot .efc-message.efc-assistant{ border-bottom-left-radius:3px; }
	.efc-chatbot .efc-input-area{ padding:10px 12px 14px; }
}
@media (max-width:480px){
	.efc-chatbot { bottom:8px; right:8px; left:8px; }
	.efc-chatbot .efc-chat-bubble{ width:50px; height:50px; }
	.efc-chatbot .efc-chat-panel{ width:calc(100vw - 16px); height:calc(100vh - 120px); max-height:450px; bottom:62px; border-radius:12px; }
	.efc-chatbot .efc-message{ padding:8px 11px; font-size:12px; border-radius:12px; }
	.efc-chatbot .efc-send-btn{ width:32px; height:32px; }
}
@media (prefers-color-scheme: dark){
	.efc-chatbot .efc-message.efc-assistant{ background:#2d2d2d; color:#e5e5e5; border-color: rgba(255,255,255,.1); }
	.efc-chatbot .efc-input-wrapper{ background:#2d2d2d; border-color: rgba(255,255,255,.1); }
	.efc-chatbot .efc-message-input{ color:#e5e5e5; }
} 