
/* Ruiz & Associates advanced page assistant */
.rk-chat-widget{position:fixed;right:24px;bottom:24px;z-index:9999;font-family:Inter,Montserrat,Arial,sans-serif}
body.rk-form-in-view .rk-chat-widget:not(.rk-open){opacity:0;pointer-events:none;transform:translateY(12px)}
/* The launcher is a column: label pill above, circular Ruiz mark below. The
   button itself is transparent - the two children carry the visuals - so the
   focus ring and the hover lift apply to the whole control. */
.rk-chat-launch{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;padding:0;background:none;cursor:pointer;transition:.2s transform}
.rk-chat-launch:hover{transform:translateY(-2px)}
.rk-chat-launch:focus-visible{outline:3px solid #d7192b;outline-offset:4px;border-radius:16px}
.rk-chat-label{background:#fff;color:#111319;font-weight:800;font-size:12.5px;letter-spacing:.01em;line-height:1;padding:8px 13px;border-radius:999px;border:1px solid rgba(17,19,25,.1);box-shadow:0 8px 22px rgba(0,0,0,.16);white-space:nowrap}
.rk-chat-mark{position:relative;width:62px;height:62px;border-radius:50%;background:#fff;display:grid;place-items:center;border:2px solid #d7192b;box-shadow:0 16px 40px rgba(0,0,0,.26)}
.rk-chat-mark img{width:44px;height:44px;object-fit:contain;display:block}
.rk-chat-pulse{position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(215,25,43,.35);animation:rkPulse 1.8s infinite;pointer-events:none}



@keyframes rkPulse{0%{transform:scale(.96);opacity:.8}100%{transform:scale(1.14);opacity:0}}
.rk-chat-panel{display:none;width:min(460px,calc(100vw - 32px));height:min(720px,calc(100vh - 110px));background:#fff;color:#111319;border-radius:22px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 28px 80px rgba(0,0,0,.34)}
.rk-open .rk-chat-launch{display:none}.rk-open .rk-chat-panel{display:grid;grid-template-rows:auto auto 1fr auto auto auto}
.rk-chat-head{background:linear-gradient(135deg,#050505,#202026);color:#fff;padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:4px solid #d7192b}
.rk-chat-head strong{display:block;font-size:17px;line-height:1.1}.rk-chat-head span{display:block;font-size:12px;color:rgba(255,255,255,.72);margin-top:4px}
.rk-chat-close{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.rk-progress{background:#fff;padding:8px 14px 0;border-bottom:1px solid #f0f0f3}.rk-progress-label{height:16px;font-size:11px;font-weight:900;color:#b91020;letter-spacing:.02em}.rk-progress-track{height:5px;background:#f0d7da;border-radius:999px;overflow:hidden}.rk-progress-fill{height:100%;width:0;background:#d7192b;border-radius:999px;transition:width .25s ease}
.rk-chat-log{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top right,rgba(215,25,43,.08),transparent 34%),#f7f7f9}
.rk-msg{max-width:90%;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.45;box-shadow:0 8px 22px rgba(0,0,0,.06);white-space:normal}
.rk-msg strong{font-weight:900}.rk-muted{color:#697081;font-size:12px}.rk-bot{align-self:flex-start;background:#fff;border:1px solid #ececf1;border-bottom-left-radius:5px}.rk-user{align-self:flex-end;background:#d7192b;color:#fff;border-bottom-right-radius:5px}
.rk-typing{display:flex;gap:4px;align-items:center;width:54px}.rk-typing span{width:7px;height:7px;border-radius:50%;background:#c6c8cf;display:block;animation:rkDot 1s infinite}.rk-typing span:nth-child(2){animation-delay:.15s}.rk-typing span:nth-child(3){animation-delay:.3s}
@keyframes rkDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.rk-chip-row{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px 8px;border-top:1px solid #eeeef2;background:#fff}
.rk-chip{border:1px solid #ffd2d7;color:#b91020;background:#fff6f7;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer}
.rk-chip:hover{background:#d7192b;color:#fff;border-color:#d7192b}
.rk-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 14px 8px;background:#fff}
.rk-chat-input{border:1px solid #dcdde3;border-radius:12px;padding:12px;font:inherit;min-width:0}
.rk-chat-form button{background:#050505;color:#fff;border:0;border-radius:12px;padding:0 15px;font-weight:900;cursor:pointer}
.rk-chat-cta{margin:0 14px 10px;display:flex;align-items:center;justify-content:center;text-decoration:none;background:#d7192b;color:#fff;border-radius:12px;padding:12px;font-weight:900}
.rk-chat-note{padding:0 16px 14px;color:#777d89;font-size:11px;text-align:center}
.rk-summary-list{padding-left:18px;margin:10px 0}.rk-summary-list li{margin:4px 0}.rk-next{background:#fff7f8;border:1px solid #ffd8dc;border-radius:12px;padding:10px 12px;margin-top:10px}.rk-next ol{margin:6px 0 0 18px;padding:0}
.rk-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.rk-mini-actions a,.rk-mini-actions button{background:#d7192b;color:#fff;border:0;border-radius:10px;padding:9px 11px;text-decoration:none;font-weight:900;font-size:12px;cursor:pointer}.rk-mini-actions button{background:#050505}
@media (max-width:640px){.rk-chat-widget{right:16px;bottom:16px}.rk-chat-label{font-size:12px;padding:7px 11px}.rk-chat-mark{width:56px;height:56px}.rk-chat-mark img{width:40px;height:40px}.rk-chat-panel{width:calc(100vw - 24px);height:min(700px,calc(100vh - 34px))}}


/* Natural chat agent option buttons */
.rk-option-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.rk-option{
  border:1px solid #ffd2d7;
  color:#b91020;
  background:#fff6f7;
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.rk-option:hover{
  background:#d7192b;
  color:#fff;
  border-color:#d7192b;
}

.rk-chat-input{
  color:#111!important;
  -webkit-text-fill-color:#111;
  caret-color:#111!important;
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20' viewBox='0 0 12 20'%3E%3Cpath d='M6 2v16M3 2h6M3 18h6' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M6 2v16M3 2h6M3 18h6' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 6 10, text!important;
}


/* === Launcher ==============================================================
   A circular Ruiz mark with the label stacked above it. The rules that shaped
   the previous 46px pill lived here and, being later in the file, quietly beat
   the new ones - so they are gone rather than overridden again. */
.rk-chat-launch:hover .rk-chat-mark{
  box-shadow:0 20px 48px rgba(17,19,25,.30);
}

/* The pulse was a constant attention pull; keep it as a slow, faint halo. */
.rk-chat-pulse{
  inset:-3px;
  border-width:1px;
  border-color:rgba(215,25,43,.30);
  animation-duration:3.2s;
}
@media (prefers-reduced-motion:reduce){
  .rk-chat-pulse{animation:none;opacity:0}
  .rk-chat-launch{transition:none}
}

/* Panel: narrower, shorter, softer. */
.rk-chat-panel{
  width:min(396px,calc(100vw - 32px));
  height:min(600px,calc(100vh - 128px));
  border-radius:18px;
  border-color:rgba(17,19,25,.10);
  box-shadow:0 18px 48px rgba(17,19,25,.20), 0 4px 12px rgba(17,19,25,.10);
}
.rk-chat-head{
  background:#111319;
  padding:14px 16px;
  border-bottom-width:3px;
  align-items:center;
}
.rk-chat-cta{
  margin:0 12px 10px;
  padding:11px;
  border-radius:10px;
  font-weight:800;
  font-size:13.5px;
}
.rk-chip,.rk-option{
  padding:7px 11px;
  font-size:11.5px;
  font-weight:700;
  border-color:#f0d3d7;
}
.rk-chat-note{padding:0 16px 12px;font-size:10.5px}

@media (max-width:640px){
  /* The label stays on: the launcher is a narrow column now, not a wide pill,
     and the label is the only thing that says what the button does. */
  .rk-chat-panel{height:min(600px,calc(100vh - 40px))}
}


/* === Panel breathing room ==================================================
   Height alone is not the fix: the fixed furniture below the log was taking
   two thirds of the panel. Grow the panel a little and loosen the stack so the
   conversation gets the space. Still narrower and shorter than the original. */
.rk-chat-panel{
  height:min(680px,calc(100vh - 112px));
}
.rk-chat-log{
  padding:20px 18px 22px;
  gap:14px;
}
.rk-msg{
  padding:13px 16px;
  line-height:1.55;
}
.rk-msg + .rk-msg{margin-top:2px}

/* Five chips wrap to three rows in a 396px panel. Tighten the row itself
   rather than hiding chips behind a scroller — they are how most people
   discover what the assistant can answer. */
.rk-chip-row{
  gap:7px;
  padding:12px 14px 10px;
}
.rk-chip{padding:6px 10px}

.rk-chat-form{
  padding:12px 14px 10px;
  gap:10px;
}
.rk-chat-cta{
  margin:2px 14px 12px;
  padding:12px;
}
.rk-chat-note{
  padding:0 18px 14px;
  line-height:1.5;
}

@media (max-width:640px){
  .rk-chat-panel{height:min(680px,calc(100vh - 40px))}
  .rk-chat-log{padding:16px 14px 18px}
}

.rk-chat-panel [hidden]{display:none!important}

.rk-msg .rk-kb-link{
  display:inline-block;
  margin-top:8px;
  color:#b91020;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
  border-bottom:2px solid rgba(215,25,43,.30);
}
.rk-msg .rk-kb-link:hover{border-bottom-color:#d7192b}
