/* Tamm — Copa chat refresh (logo launcher, greeting bubble, calmer panel).
   Loaded after apple-ui.css; uses !important only where apple-ui.css already does. */

/* ---------- floating launcher: the site logo ---------- */
.tc-launcher { width: 54px !important; height: 54px !important; padding: 0 !important; background: #0a66ff !important; border: 3px solid #fff !important;
  box-shadow: 0 12px 30px rgba(10,102,255,.38), 0 3px 10px rgba(15,32,64,.14) !important; overflow: visible; isolation: isolate; }
.tc-launcher::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid rgba(10,102,255,.5); z-index: -1; animation: tcPulse 2.8s ease-out infinite; }
.tc-launcher-logo { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; display: block; background: #0a66ff; }
.tc-launcher-logo img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.04); transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.tc-launcher:hover .tc-launcher-logo img { transform: scale(1.1); }
.tc-launcher:hover { transform: translateY(-3px) scale(1.05) !important; }
.tc-launcher:focus-visible { outline: 3px solid rgba(53,198,216,.7); outline-offset: 3px; }
.tc-launcher-dot { top: -1px !important; left: -1px !important; width: 14px !important; height: 14px !important; background: #19c37d !important; border: 3px solid #fff !important; z-index: 2; }
@keyframes tcPulse { 0% { transform: scale(1); opacity: .9; } 70%, 100% { transform: scale(1.55); opacity: 0; } }

/* ---------- greeting bubble ---------- */
.tc-nudge { position: fixed; z-index: 2099; display: flex; align-items: center; gap: 2px; max-width: min(310px, calc(100vw - 100px)); padding: 4px 4px 4px 8px; border-radius: 18px 18px 4px 18px;
  background: #fff; color: #0f2040; border: 1px solid #dbe6f2; box-shadow: 0 14px 34px rgba(15,32,64,.18);
  opacity: 0; transform: translateY(8px) scale(.96); pointer-events: none; transition: opacity .25s ease, transform .25s ease; direction: rtl; }
.tc-nudge.tc-show { opacity: 1; transform: none; pointer-events: auto; }
.tc-nudge-text { border: 0; background: none; padding: 8px 10px; font: 600 13.5px/1.5 "Cairo", sans-serif; color: #0f2040; cursor: pointer; text-align: start; }
.tc-nudge-text b { color: #0a66ff; white-space: nowrap; }
.tc-nudge-x { flex: 0 0 26px; width: 26px; height: 26px; border: 0; border-radius: 50%; background: #eef3f9; color: #5a6a82; font-size: 16px; line-height: 1; cursor: pointer; }
.tc-nudge-x:hover { background: #e1eaf4; }

/* ---------- panel ---------- */
.tc-panel { border-radius: 26px !important; border: 1px solid rgba(15,32,64,.06) !important; background: #f4f7fb !important;
  box-shadow: 0 34px 90px rgba(15,32,64,.3), 0 8px 24px rgba(15,32,64,.12) !important; }
.tc-head { position: relative; padding: 16px 16px 18px !important; gap: 12px !important; overflow: hidden;
  background: radial-gradient(120% 140% at 100% 0%, rgba(53,198,216,.38), transparent 55%), linear-gradient(135deg, #0b2a5b 0%, #0a66ff 100%) !important; }
.tc-head::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 1px; background: rgba(255,255,255,.18); }
.tc-avatar { width: 48px !important; height: 48px !important; border-radius: 16px !important; overflow: hidden; padding: 0; background: #0a66ff !important; border: 2px solid rgba(255,255,255,.9); box-shadow: 0 6px 16px rgba(0,0,0,.22); }
.tc-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.3); }
.tc-head-text strong { font-size: 17px !important; letter-spacing: .2px; }
.tc-head-text span { font-size: 12.5px !important; color: rgba(255,255,255,.9) !important; }
.tc-head-text span i { background: #4df0a9 !important; box-shadow: 0 0 0 3px rgba(77,240,169,.28) !important; animation: tcBlink 2.2s ease-in-out infinite; }
@keyframes tcBlink { 50% { box-shadow: 0 0 0 6px rgba(77,240,169,0); } }
.tc-icon-btn { background: rgba(255,255,255,.16) !important; backdrop-filter: blur(6px); }
.tc-icon-btn:hover { background: rgba(255,255,255,.3) !important; }

.tc-body { padding: 18px 14px 10px !important; gap: 12px !important; background: linear-gradient(180deg, #eef3fa 0%, #f6f9fc 100%); }
.tc-body::-webkit-scrollbar { width: 6px; } .tc-body::-webkit-scrollbar-thumb { background: #c8d5e5; border-radius: 6px; }
.tc-msg { font-size: 14.5px !important; border-radius: 18px !important; }
.tc-msg.tc-bot { background: #fff !important; border: 1px solid #e1e9f3 !important; border-top-right-radius: 6px !important; box-shadow: 0 3px 12px rgba(15,32,64,.05) !important; color: #0f2040 !important; }
.tc-msg.tc-bot:first-child { padding: 14px 16px; }
.tc-msg:not(.tc-bot):not(.tc-quick) { background: linear-gradient(135deg, #0a66ff, #1f84ff) !important; border-top-left-radius: 6px !important; box-shadow: 0 6px 16px rgba(10,102,255,.22); }

.tc-quick { gap: 8px !important; margin-top: 14px !important; }
.tc-quick button { min-height: 38px; padding: 8px 14px !important; border: 1px solid #cfe0f5 !important; background: #f2f8ff !important; color: #0a4fbf !important; font-weight: 700 !important; border-radius: 999px !important; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; }
.tc-quick button:hover { background: #e2efff !important; border-color: #86b6ee !important; transform: translateY(-1px); }

.tc-foot { padding: 12px 12px 8px !important; background: #fff; border-top: 1px solid #e3eaf3; }
.tc-form input { height: 46px !important; border-radius: 16px !important; border: 1px solid #d3deeb !important; background: #f4f7fb !important; font-size: 15px !important; }
.tc-form input:focus { border-color: #0a66ff !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(10,102,255,.14) !important; }
.tc-send { width: 46px !important; height: 46px !important; border-radius: 16px !important; background: linear-gradient(135deg, #0a66ff, #2a8fc4) !important; box-shadow: 0 6px 14px rgba(10,102,255,.28); }
.tc-send:active { transform: scale(.94); }
.tc-note { font-size: 11.5px !important; color: #7a8aa0 !important; }

@media (max-width: 600px) {
  .tc-launcher { width: 48px !important; height: 48px !important; }
  .tc-panel { border-radius: 22px !important; }
}
@media (prefers-reduced-motion: reduce) { .tc-launcher::before, .tc-head-text span i { animation: none !important; } .tc-nudge { transition: none; } }