/* =========================================================
   Website chatbot (WhatsApp style) — Re-Inventing "You"
   ========================================================= */
.ry-chat{display:block!important;position:fixed;right:22px;bottom:22px;z-index:1500;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;color:#1f1f1f}
.ry-chat--left{right:auto;left:22px}
.ry-chat *{box-sizing:border-box}

/* launcher */
.ry-chat__fab{position:relative;width:64px;height:64px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(18,140,126,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .25s ease;margin-left:auto}
.ry-chat--left .ry-chat__fab{margin-left:0}
.ry-chat__fab:hover{transform:scale(1.06)}
.ry-chat__fab:focus-visible{outline:3px solid #128C7E;outline-offset:3px}
.ry-chat__fab svg{width:34px;height:34px}
.ry-chat__badge{position:absolute;top:2px;right:2px;width:15px;height:15px;border-radius:50%;background:#E53935;border:2px solid #fff;animation:ryc-pulse 2s ease-in-out infinite}
.ry-chat.is-seen .ry-chat__badge{display:none}

/* panel */
.ry-chat__panel{position:absolute;right:0;bottom:84px;width:370px;max-width:calc(100vw - 32px);height:min(600px,calc(100vh - 130px));display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#EFE7DE;box-shadow:0 24px 60px rgba(0,0,0,.22),0 4px 14px rgba(0,0,0,.08);transform-origin:bottom right;animation:ryc-in .28s cubic-bezier(.2,.9,.3,1.2)}
.ry-chat--left .ry-chat__panel{right:auto;left:0;transform-origin:bottom left}
.ry-chat__panel[hidden]{display:none}
.ry-chat__header{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:16px 12px 16px 18px;background:#357F6B;color:#fff}
.ry-chat__avatar{position:relative;flex:0 0 50px;width:50px;height:50px}
.ry-chat__avatar img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.85);display:block}
.ry-chat__online{position:absolute;right:0;bottom:2px;width:13px;height:13px;border-radius:50%;background:#4AD34A;border:2px solid #357F6B}
.ry-chat__who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ry-chat__name{font-size:16.5px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.ry-chat__status{font-size:12.5px;opacity:.9}
.ry-chat__icon{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.75);cursor:pointer;display:grid;place-items:center;padding:0;flex:0 0 auto}
.ry-chat__icon:hover{color:#fff;background:rgba(255,255,255,.12)}
.ry-chat__icon:focus-visible{outline:2px solid #fff}
.ry-chat__icon svg{width:18px;height:18px}

/* conversation */
.ry-chat__log{flex:1 1 auto;overflow-y:auto;padding:14px 14px 8px;background-color:#EFE7DE;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%23cdbfae' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' opacity='.55'><path d='M18 20h26a6 6 0 0 1 6 6v14a6 6 0 0 1-6 6H30l-8 7v-7h-4a6 6 0 0 1-6-6V26a6 6 0 0 1 6-6z'/><path d='M120 18l3.5 7.2 7.9 1.1-5.7 5.6 1.3 7.9-7-3.7-7 3.7 1.3-7.9-5.7-5.6 7.9-1.1z'/><path d='M78 70c-3-5-11-4-11 2 0 5 7 9 11 12 4-3 11-7 11-12 0-6-8-7-11-2z'/><circle cx='150' cy='82' r='9'/><path d='M146 82h8M150 78v8'/><rect x='20' y='104' width='26' height='18' rx='4'/><circle cx='33' cy='113' r='5'/><path d='M100 120l10-14 10 14z'/><path d='M140 140c6 0 10 4 10 10s-4 10-10 10'/><path d='M60 150h20M70 140v20'/><path d='M92 28c4 0 7 3 7 7M92 22c8 0 13 5 13 13'/><path d='M8 166l8-8 8 8'/></g></svg>");background-size:180px 180px;scroll-behavior:smooth}
.ryc-day{text-align:center;margin:2px 0 12px}
.ryc-day span{display:inline-block;background:#E1F2FB;color:#54656F;font-size:11.5px;padding:4px 10px;border-radius:8px;box-shadow:0 1px .5px rgba(0,0,0,.13)}
.ryc-msg{display:flex;margin:0 0 6px;animation:ryc-fade .22s ease}
.ryc-msg.me{justify-content:flex-end}
.ryc-bubble{position:relative;max-width:84%;padding:8px 11px 20px;font-size:14.5px;line-height:1.42;border-radius:10px;box-shadow:0 1px .5px rgba(0,0,0,.13);white-space:pre-line;overflow-wrap:anywhere}
.ryc-msg.bot .ryc-bubble{background:#fff;border-top-left-radius:0}
.ryc-msg.me .ryc-bubble{background:#D9FDD3;border-top-right-radius:0}
.ryc-msg.bot.first .ryc-bubble:before{content:"";position:absolute;top:0;left:-8px;border-style:solid;border-width:0 9px 10px 0;border-color:transparent #fff transparent transparent}
.ryc-msg.me.first .ryc-bubble:before{content:"";position:absolute;top:0;right:-8px;border-style:solid;border-width:0 0 10px 9px;border-color:transparent transparent transparent #D9FDD3}
.ryc-bubble em{font-style:normal;font-weight:700}
.ryc-time{position:absolute;right:9px;bottom:4px;font-size:10.5px;color:#667781;display:flex;gap:3px;align-items:center}
.ryc-time svg{width:15px;height:10px;color:#53BDEB}
.ryc-typing .ryc-bubble{padding:12px 14px;display:inline-flex;gap:4px}
.ryc-typing span{width:7px;height:7px;border-radius:50%;background:#9aa3a0;animation:ryc-dot 1.2s infinite ease-in-out}
.ryc-typing span:nth-child(2){animation-delay:.15s}
.ryc-typing span:nth-child(3){animation-delay:.3s}

/* quick replies */
.ry-chat__chips{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 10px;background:#EFE7DE;max-height:150px;overflow-y:auto}
.ry-chat__chips:empty{display:none}
.ry-chat__chips button{border:1px solid #BFE0D4;background:#fff;color:#0B6E5A;font:inherit;font-size:13.5px;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer;box-shadow:0 1px .5px rgba(0,0,0,.08);transition:background .15s}
.ry-chat__chips button:hover{background:#E9F7F1}
.ry-chat__chips button:focus-visible{outline:2px solid #128C7E;outline-offset:2px}

/* composer */
.ry-chat__composer{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:10px 10px 12px;background:#F0F2F5}
.ry-chat__composer[hidden]{display:none}
.ry-chat__cc{flex:0 0 auto;max-width:108px;height:44px;border:0;border-radius:22px;padding:0 8px 0 12px;background:#fff;font:inherit;font-size:14px;color:#1f1f1f;cursor:pointer}
.ry-chat__cc[hidden]{display:none}
.ry-chat__input{flex:1;min-width:0;height:44px;border:0;border-radius:22px;padding:0 16px;background:#fff;font:inherit;font-size:15px;color:#1f1f1f;outline:none}
.ry-chat__input:focus,.ry-chat__cc:focus{box-shadow:0 0 0 2px #25D366}
.ry-chat__send{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#00A884;color:#fff;display:grid;place-items:center;cursor:pointer}
.ry-chat__send:hover{background:#008F72}
.ry-chat__send svg{width:21px;height:21px}
.ry-chat__final{flex:0 0 auto;padding:12px 14px 16px;background:#F0F2F5}
.ry-chat__final[hidden]{display:none}
.ry-chat__cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;border-radius:999px;background:#25D366;color:#fff!important;text-decoration:none;font-weight:700;font-size:16px;box-shadow:0 6px 16px rgba(37,211,102,.35)}
.ry-chat__cta:hover{background:#1EBE5B}
.ry-chat__cta svg{width:24px;height:24px}

@keyframes ryc-in{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ryc-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes ryc-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes ryc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

@media (max-width:480px){
  .ry-chat{right:14px;bottom:14px}
  .ry-chat--left{left:14px}
  .ry-chat__fab{width:58px;height:58px}
  .ry-chat__fab svg{width:31px;height:31px}
  .ry-chat__panel{position:fixed;left:8px;right:8px;bottom:8px;width:auto;max-width:none;height:min(620px,calc(100dvh - 16px));border-radius:18px}
  .ry-chat--left .ry-chat__panel{left:8px}
}
@media (max-width:760px){
  .ry-chat.has-mbar .ry-chat__fab{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ry-chat__panel,.ryc-msg,.ry-chat__badge,.ryc-typing span{animation:none!important}
}
@media print{.ry-chat{display:none!important}}
