html, body { overflow-x: hidden; }
#ricki-order-whatsapp { position:fixed; right:max(20px,calc(env(safe-area-inset-right,0px) + 16px)); bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 16px)); z-index:1000; display:inline-flex; align-items:center; justify-content:center; gap:9px; width:auto; height:auto; min-height:52px; padding:11px 17px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:#25d366; color:#fff; box-shadow:0 10px 28px rgba(20,118,56,.32); font:800 14px/1.2 Arial,sans-serif; text-decoration:none; animation:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
#ricki-order-whatsapp:hover { transform:translateY(-2px); background:#20bf5a; box-shadow:0 14px 32px rgba(20,118,56,.4); }
#ricki-order-whatsapp svg { flex:0 0 25px; width:25px; height:25px; fill:currentColor; }
#ricki-order-whatsapp:focus-visible { outline:3px solid #f2ad3b; outline-offset:3px; }
#float-cart { left:20px; right:auto; }
.ricki-chat-visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#ricki-chat-launcher { position:fixed; right:max(20px,calc(env(safe-area-inset-right,0px) + 16px)); bottom:max(128px,calc(env(safe-area-inset-bottom,0px) + 118px)); z-index:1000; display:inline-flex; align-items:center; gap:10px; min-height:50px; max-width:calc(100vw - 32px); padding:10px 17px 10px 11px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:linear-gradient(135deg,#b73a18,#dc641e); color:#fff8e8; box-shadow:0 12px 32px rgba(61,20,8,.32); font:700 14px/1.2 Arial,sans-serif; letter-spacing:.01em; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
#ricki-chat-launcher:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(61,20,8,.38); }
#ricki-chat-launcher:focus-visible,#ricki-chat-close:focus-visible,#ricki-chat-send:focus-visible,#ricki-chat-input:focus-visible { outline:3px solid #f2ad3b; outline-offset:3px; }
.ricki-chat-launcher-mark { position:relative; display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; overflow:hidden; border-radius:50%; background:#fff4d5; color:#9e2f14; font-size:17px; }
#ricki-chat-panel { position:fixed; right:max(20px,calc(env(safe-area-inset-right,0px) + 16px)); bottom:max(128px,calc(env(safe-area-inset-bottom,0px) + 118px)); z-index:1001; width:min(370px,calc(100vw - 32px)); height:min(540px,calc(100dvh - 180px)); min-height:390px; overflow:hidden; border:1px solid rgba(85,37,17,.16); border-radius:22px; background:#fffaf0; box-shadow:0 24px 70px rgba(37,17,9,.34); display:flex; flex-direction:column; color:#24160f; font-family:Arial,sans-serif; transform-origin:bottom right; }
#ricki-chat-panel[hidden] { display:none; }
.ricki-chat-header { display:flex; align-items:center; gap:11px; padding:14px 14px 13px; color:#fff8e8; background:linear-gradient(135deg,#351d12,#6f2918 65%,#a23a18); }
.ricki-chat-avatar { position:relative; display:grid; place-items:center; width:39px; height:39px; flex:0 0 39px; overflow:hidden; border:2px solid rgba(255,255,255,.5); border-radius:50%; background:#f2ad3b; color:#361a0d; font-weight:900; font-size:15px; }
.ricki-chat-avatar-fallback,.ricki-chat-avatar-image { grid-area:1 / 1; }
.ricki-chat-avatar-image { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; object-position:center 34%; }
.ricki-chat-agent { min-width:0; flex:1; }
.ricki-chat-agent strong { display:block; font:800 15px/1.25 Arial,sans-serif; }
.ricki-chat-agent span { display:flex; align-items:center; gap:6px; margin-top:2px; font-size:11px; color:#f4dbc5; }
.ricki-chat-agent span::before { content:''; width:7px; height:7px; border-radius:50%; background:#72d68b; box-shadow:0 0 0 3px rgba(114,214,139,.14); }
#ricki-chat-close { display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:22px; cursor:pointer; }
#ricki-chat-messages { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:16px 13px 12px; background:radial-gradient(circle at 20% 0%,rgba(242,173,59,.12),transparent 38%),#fffaf0; scrollbar-width:thin; scrollbar-color:#d9c5b3 transparent; }
.ricki-chat-message { display:flex; flex-direction:column; align-items:flex-start; margin:0 0 12px; }
.ricki-chat-message[data-role="user"] { align-items:flex-end; }
.ricki-chat-bubble { max-width:86%; padding:10px 12px; border-radius:16px 16px 16px 5px; background:#fff; border:1px solid rgba(75,38,18,.1); box-shadow:0 3px 12px rgba(55,27,13,.07); color:#2c1b12; font-size:14px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.ricki-chat-message[data-role="user"] .ricki-chat-bubble { border:0; border-radius:16px 16px 5px 16px; background:#9f3518; color:#fffaf1; }
.ricki-chat-time { padding:4px 4px 0; color:#897264; font-size:10px; line-height:1; }
.ricki-chat-typing .ricki-chat-bubble { display:flex; gap:4px; align-items:center; min-height:38px; }
.ricki-chat-typing i { width:6px; height:6px; border-radius:50%; background:#b84a22; animation:rickiChatDot 1s infinite ease-in-out; }
.ricki-chat-typing i:nth-child(2) { animation-delay:.15s; } .ricki-chat-typing i:nth-child(3) { animation-delay:.3s; }
@keyframes rickiChatDot { 0%,70%,100% { opacity:.35; transform:translateY(0); } 35% { opacity:1; transform:translateY(-3px); } }
.ricki-chat-error .ricki-chat-bubble { border-color:#d79779; background:#fff3ec; }
.ricki-chat-fallback { display:inline-flex; margin-top:8px; color:#8f2e16; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.ricki-chat-composer { padding:10px 10px max(10px,env(safe-area-inset-bottom,0px)); border-top:1px solid rgba(69,35,18,.1); background:#fff; }
#ricki-chat-form { display:flex; align-items:flex-end; gap:8px; }
#ricki-chat-input { flex:1; min-width:0; min-height:44px; max-height:92px; resize:none; padding:11px 12px; border:1px solid #d8c5b5; border-radius:14px; background:#fffdf8; color:#26170f; font:14px/1.35 Arial,sans-serif; }
#ricki-chat-send { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:13px; background:#b6401d; color:#fff; font-size:18px; cursor:pointer; }
#ricki-chat-send:disabled { cursor:wait; opacity:.48; }
.ricki-chat-note { margin:6px 2px 0; text-align:center; color:#8a7568; font-size:10px; }
@media (max-width:640px) { #ricki-order-whatsapp { right:12px; bottom:max(10px,calc(env(safe-area-inset-bottom,0px) + 8px)); min-height:50px; padding:10px 14px; font-size:13px; } #float-cart { left:50%; right:auto; } #ricki-chat-launcher { right:12px; bottom:max(128px,calc(env(safe-area-inset-bottom,0px) + 118px)); font-size:13px; } #ricki-chat-panel { right:10px; bottom:max(128px,calc(env(safe-area-inset-bottom,0px) + 118px)); width:calc(100vw - 20px); height:min(560px,calc(100dvh - 150px)); min-height:360px; border-radius:19px; } }
@media (max-width:380px),(max-height:570px) { #ricki-chat-panel { bottom:max(128px,calc(env(safe-area-inset-bottom,0px) + 118px)); height:calc(100dvh - 142px); min-height:0; } .ricki-chat-header { padding:10px 12px; } #ricki-chat-messages { padding-top:12px; } }
@media (prefers-reduced-motion:reduce) { #ricki-chat-launcher,#ricki-chat-panel,.ricki-chat-typing i { transition:none; animation:none; } }
