/* Ryason Tech — RyasonAi chat widget styles */
.rz-chat-bubble {
  position: fixed; right: 22px; bottom: 22px; z-index: 9998;
  width: 62px; height: 62px; border-radius: 50%;
  background: #F05123; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 28px rgba(240, 81, 35, .38);
  transition: transform .18s ease, box-shadow .18s ease;
}
.rz-chat-bubble:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 14px 34px rgba(240, 81, 35, .45); }
.rz-chat-bubble svg { width: 28px; height: 28px; }
.rz-chat-bubble .rz-dot {
  position: absolute; top: 4px; right: 4px; width: 13px; height: 13px;
  background: #35C46A; border: 2.5px solid #fff; border-radius: 50%;
}
.rz-chat-panel {
  position: fixed; right: 22px; bottom: 98px; z-index: 9999;
  width: 372px; max-width: calc(100vw - 32px); height: 540px; max-height: calc(100vh - 130px);
  background: #fff; border-radius: 18px; overflow: hidden;
  box-shadow: 0 24px 70px rgba(16, 24, 40, .28);
  display: flex; flex-direction: column;
  transform: translateY(14px) scale(.98); opacity: 0; pointer-events: none;
  transition: transform .2s ease, opacity .2s ease;
  font-family: 'Inter', 'Poppins', Arial, sans-serif;
}
.rz-chat-panel.open { transform: none; opacity: 1; pointer-events: auto; }
.rz-chat-head {
  background: linear-gradient(120deg, #F05123, #F37A20);
  color: #fff; padding: 15px 18px; display: flex; align-items: center; gap: 12px;
}
.rz-chat-head .rz-ava {
  width: 42px; height: 42px; border-radius: 50%; background: #fff;
  color: #F05123; font-weight: 800; font-size: 19px;
  display: flex; align-items: center; justify-content: center; flex: none;
}
.rz-chat-head b { display: block; font-size: 15.5px; letter-spacing: .01em; }
.rz-chat-head small { font-size: 11.5px; opacity: .92; display: flex; align-items: center; gap: 6px; }
.rz-chat-head small::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #6CFFA8; }
.rz-chat-close { margin-left: auto; background: none; border: 0; color: #fff; cursor: pointer; font-size: 22px; line-height: 1; opacity: .85; padding: 4px 6px; }
.rz-chat-close:hover { opacity: 1; }
.rz-chat-body { flex: 1; overflow-y: auto; padding: 16px 14px 8px; background: #FFF9F6; }
.rz-chat-body::-webkit-scrollbar { width: 6px; }
.rz-chat-body::-webkit-scrollbar-thumb { background: #F1CFC0; border-radius: 3px; }
.rz-msg { max-width: 86%; margin: 0 0 10px; display: flex; flex-direction: column; }
.rz-msg .rz-b {
  padding: 10px 13px; border-radius: 14px; font-size: 13.6px; line-height: 1.5;
  background: #fff; border: 1px solid #F2E3DB; color: #2A2526; border-bottom-left-radius: 5px;
  box-shadow: 0 1px 3px rgba(20, 10, 5, .05);
}
.rz-msg .rz-t { font-size: 10.5px; color: #B9A99F; margin: 3px 2px 0; }
.rz-msg.me { align-self: flex-end; align-items: flex-end; }
.rz-msg.me .rz-b { background: #F05123; border-color: #F05123; color: #fff; border-radius: 14px; border-bottom-right-radius: 5px; }
.rz-quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 12px; }
.rz-quick button {
  background: #fff; border: 1.5px solid #F05123; color: #F05123; font-size: 12.6px; font-weight: 600;
  padding: 8px 13px; border-radius: 20px; cursor: pointer; transition: all .15s ease;
}
.rz-quick button:hover { background: #F05123; color: #fff; }
.rz-chat-input { border-top: 1px solid #F2E3DB; background: #fff; padding: 10px; display: flex; gap: 8px; }
.rz-chat-input input {
  flex: 1; border: 1.5px solid #F0E4DC; border-radius: 12px; padding: 11px 13px;
  font-size: 13.5px; font-family: inherit; outline: none; color: #2A2526;
}
.rz-chat-input input:focus { border-color: #F05123; }
.rz-chat-input button {
  background: #F05123; color: #fff; border: 0; border-radius: 12px; padding: 0 15px; cursor: pointer;
  font-size: 13.5px; font-weight: 600; display: flex; align-items: center; gap: 6px;
}
.rz-chat-input button:disabled { opacity: .45; cursor: default; }
.rz-typing { display: inline-flex; gap: 4px; padding: 12px 14px; }
.rz-typing i { width: 6px; height: 6px; background: #D9C6BC; border-radius: 50%; animation: rz-ty .9s infinite; }
.rz-typing i:nth-child(2) { animation-delay: .15s; }
.rz-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes rz-ty { 0%, 60%, 100% { transform: none; opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
@media (max-width: 480px) {
  .rz-chat-panel { right: 10px; bottom: 92px; width: calc(100vw - 20px); height: 68vh; }
  .rz-chat-bubble { right: 14px; bottom: 14px; }
}

/* site fixes: logo sizing */
.navbar-brand img{height:58px!important;width:auto!important;max-height:66px!important}
.navbar-brand svg.brand-logo-svg{height:44px!important;width:auto!important;max-height:52px!important}
.foot-brand svg.brand-logo-svg{height:48px!important;width:auto!important}
a.footer-brand-link{display:inline-flex}
@media (max-width:560px){.navbar-brand img{height:46px!important}.navbar-brand svg.brand-logo-svg{height:37px!important;max-height:44px!important}}

/* --- Spec compliance: direct answers, lifecycle, meta --- */
.direct-answer{background:#FFF4EE;border-left:4px solid #F05123;padding:16px 20px;border-radius:12px;font-size:17px;line-height:1.65;color:#1a1a1a;margin:6px 0 0}
.lifecycle-list{list-style:none;padding:0;margin:0}
.lifecycle-list li{position:relative;padding:0 0 22px 56px;margin:0;font-size:17px;line-height:1.6;color:#1a1a1a}
.lifecycle-list li::before{content:"";position:absolute;left:0;top:2px;width:38px;height:38px;border-radius:50%;background:#F05113;background:#F05123;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:16px}
.lifecycle-list{counter-reset:lc}
.lifecycle-list li::before{counter-increment:lc;content:counter(lc)}
.lifecycle-list li strong{display:block;font-size:18px;margin-bottom:4px;color:#111}
.content-meta{margin-top:30px;font-size:14px;color:#6b6b6b;border-top:1px solid #eee;padding-top:14px}
