/* LawLink floating multilingual chat, isolated from WordPress theme styles. */
.llbot, .llbot * { box-sizing:border-box; }
.llbot { --ll-navy:#132437; --ll-gold:#c8a46a; --ll-muted:#6e7883; --ll-border:#e6eaf0; position:fixed; bottom:23px; right:23px; z-index:2147483000; font:400 14px/1.48 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#1e2b38; direction:ltr; }
.llbot button,.llbot input,.llbot select { font:inherit; }
.llbot button { cursor:pointer; }
.llbot [hidden] { display:none !important; }
.llbot .llbot-launch { display:flex; align-items:center; gap:11px; background:var(--ll-navy); border:1px solid rgba(255,255,255,.17); border-radius:36px; box-shadow:0 12px 35px rgba(10,24,41,.24); color:#fff; padding:10px 20px 10px 11px; min-height:54px; font-weight:650; letter-spacing:.1px; transition:transform .16s ease, box-shadow .16s ease; }
.llbot .llbot-launch:hover { transform:translateY(-2px); box-shadow:0 15px 36px rgba(10,24,41,.34); }
.llbot .llbot-launch:focus-visible,.llbot button:focus-visible,.llbot select:focus-visible,.llbot input:focus-visible { outline:3px solid var(--ll-gold); outline-offset:2px; }
.llbot .llbot-launch-icon { background:var(--ll-gold); border-radius:50%; display:flex; width:34px; height:34px; align-items:center; justify-content:center; color:#152436; flex-shrink:0; }
.llbot .llbot-launch-label { white-space:nowrap; }
.llbot .llbot-panel { position:absolute; bottom:70px; right:0; width:min(378px,calc(100vw - 24px)); height:min(590px,calc(100dvh - 112px)); background:#fff; border:1px solid #e6e7e9; border-radius:17px; box-shadow:0 18px 70px rgba(12,26,42,.23); overflow:hidden; display:flex; flex-direction:column; min-height:355px; }
.llbot .llbot-header { background:linear-gradient(135deg,#102338,#213d57); color:white; min-height:77px; padding:14px 16px; display:flex; align-items:center; gap:11px; flex-shrink:0; }
.llbot .llbot-brand { background:linear-gradient(135deg,#d8ba82,#ac7d42); color:#162638; border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; width:43px; height:43px; border-radius:12px; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:bold; letter-spacing:-3px; padding-right:3px; flex-shrink:0; }
.llbot .llbot-heading { display:flex; flex-direction:column; gap:2px; min-width:0; }
.llbot .llbot-heading strong { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:19px; letter-spacing:.2px; font-weight:600; line-height:1.1; }
.llbot .llbot-heading span { font-size:11px; color:#d3dbe6; }
.llbot .llbot-close { margin-left:auto; align-self:flex-start; background:transparent; color:#fff; border:0; padding:0 5px; width:31px; height:32px; font-weight:300; font-size:26px; line-height:1; border-radius:8px; }
.llbot .llbot-close:hover { background:rgba(255,255,255,.12); }
.llbot .llbot-toolbar { display:flex; align-items:center; gap:7px; padding:8px 14px; border-bottom:1px solid var(--ll-border); flex-shrink:0; font-size:12px; color:#647386; }
.llbot .llbot-toolbar select { border:1px solid #d8dfe7; border-radius:7px; min-height:30px; background:#fff; padding:2px 8px; color:#1d3042; font-size:12px; max-width:130px; }
.llbot .llbot-mode { margin-left:auto; padding:4px 7px; color:#637888; background:#eff3f6; border-radius:8px; font-size:10px; white-space:nowrap; }
.llbot .llbot-messages { flex:1; min-height:100px; overflow-y:auto; display:flex; flex-direction:column; gap:11px; padding:17px 13px; scrollbar-color:#c4c9d0 transparent; }
.llbot .llbot-message { background:#f1f4f8; color:#2a3542; border-radius:15px 15px 15px 3px; padding:11px 13px; align-self:flex-start; max-width:89%; overflow-wrap:anywhere; white-space:pre-wrap; font-size:13px; line-height:1.55; border:1px solid #edf0f4; }
.llbot .llbot-user { background:#1f3b55; border-color:#1f3b55; color:#fff; align-self:flex-end; border-radius:15px 15px 3px 15px; }
.llbot .llbot-quick { display:flex; flex-wrap:wrap; gap:6px; padding:1px 12px 11px; flex-shrink:0; max-height:90px; overflow:auto; }
.llbot .llbot-chip { display:inline-flex; background:#fbfcfd; border:1px solid #d6e0ea; color:#254058; padding:6px 9px; font-size:11px; line-height:1.3; border-radius:40px; min-height:32px; }
.llbot .llbot-chip:hover { border-color:var(--ll-gold); background:#fffaf2; }
.llbot .llbot-privacy { padding:9px 13px; font-size:10.5px; line-height:1.4; color:#66707b; background:#f7f8fa; border-top:1px solid var(--ll-border); flex-shrink:0; }
.llbot .llbot-consent { padding:7px 13px; display:flex; align-items:flex-start; gap:8px; font-size:10.5px; line-height:1.4; color:#435362; background:#fffcf6; border-top:1px solid #f0e4d2; flex-shrink:0; cursor:pointer; }
.llbot .llbot-consent input { width:15px; height:15px; margin:1px 0 0; flex-shrink:0; accent-color:#1b4665; }
.llbot .llbot-form { margin:0; display:flex; padding:11px; gap:8px; background:#fff; flex-shrink:0; border-top:1px solid #f2f3f5; }
.llbot .llbot-form input { margin:0; flex:1; min-width:0; border:1px solid #dce2e8; background:#fff; color:#1d2934; border-radius:10px; font-size:13px; padding:11px 12px; box-shadow:none; height:43px; }
.llbot .llbot-form input::placeholder { color:#84909d; }
.llbot .llbot-form button { background:var(--ll-navy); color:#fff; border:0; width:43px; height:43px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:0; }
.llbot .llbot-form button:hover { background:#2b485e; }
.llbot .llbot-form button:disabled { opacity:.5; cursor:wait; }
.llbot .llbot-contact { display:flex; flex-shrink:0; gap:8px; justify-content:space-between; padding:0 11px 12px; background:#fff; }
.llbot .llbot-contact a { display:flex; align-items:center; justify-content:center; text-decoration:none; color:#182f43; border:1px solid #d9e0e5; border-radius:9px; padding:9px 12px; font-size:12px; font-weight:650; flex:1; background:#fff; }
.llbot .llbot-contact a:first-child { background:#eaf7ee; border-color:#c5e2ce; color:#207045; }
.llbot .llbot-contact a:hover { filter:brightness(.97); text-decoration:none; }
.llbot .llbot-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.llbot.llbot-rtl .llbot-messages { direction:rtl; }
.llbot.llbot-rtl .llbot-message { border-radius:15px 15px 3px 15px; }
.llbot.llbot-rtl .llbot-user { border-radius:15px 15px 15px 3px; }
.llbot.llbot-rtl .llbot-privacy,.llbot.llbot-rtl .llbot-consent { text-align:right; direction:rtl; }
.llbot.llbot-rtl .llbot-form input { direction:rtl; }
@media(max-width:480px) {
  .llbot { right:12px; bottom:12px; }
  .llbot .llbot-panel { right:0; bottom:68px; width:calc(100vw - 24px); height:min(640px,calc(100dvh - 94px)); border-radius:14px; }
  .llbot .llbot-message { font-size:13px; }
  .llbot.llbot-open .llbot-launch { padding:7px 9px; min-height:49px; }
  .llbot.llbot-open .llbot-launch-label { display:none; }
}
@media(prefers-reduced-motion:reduce) { .llbot *, .llbot *::before,.llbot *::after { transition:none !important; animation:none !important; } }

/* v1.1 Separate WhatsApp contact; always clickable even if chat JavaScript is blocked. */
.llbot { bottom:91px; }
.llbot .llbot-whatsapp-float {
  position:fixed !important; bottom:19px !important; right:23px !important;
  z-index:2147483001 !important;
  display:flex !important; align-items:center !important; justify-content:center !important; gap:9px !important;
  min-width:171px; min-height:54px; padding:11px 19px; color:#fff !important;
  background:#16863e !important; border:1px solid #138239 !important; border-radius:36px !important;
  font:700 14px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif !important;
  text-decoration:none !important; box-shadow:0 10px 32px rgba(10,35,20,.23) !important;
  cursor:pointer !important; pointer-events:auto !important;
}
.llbot .llbot-whatsapp-float:hover { background:#0c7031 !important; }
.llbot .llbot-whatsapp-float svg { display:block; flex-shrink:0; }
.llbot .llbot-launch { position:relative; z-index:1; pointer-events:auto !important; }
.llbot .llbot-panel:not([hidden]) { z-index:2; pointer-events:auto !important; }
@media (max-width:480px) {
  .llbot { right:12px; bottom:78px; }
  .llbot .llbot-whatsapp-float { bottom:12px !important; right:12px !important; min-height:49px; }
  .llbot .llbot-panel { height:min(590px, calc(100dvh - 164px)); min-height:260px; }
}
