/* Nelumi widget. Tokens fall back to the 2026 brand values, so the module also works on a page
   that does not define the --taxi-* variables. Override any --nlm-* on :root to restyle it. */
.nlm-root{
  --nlm-ink:var(--taxi-ink,#7A0C13); --nlm-green:var(--taxi-green,#507122); --nlm-green-2:var(--taxi-highland,#5F7D36);
  --nlm-sodium:var(--taxi-sodium,#FFB020); --nlm-sodium-ink:#3A2A00;
  --nlm-bg:#F1F2E9; --nlm-white:#fff; --nlm-line:#DCDDCD; --nlm-text:#212529; --nlm-kerb:#896A6B;
  --nlm-danger:#B3261E; --nlm-danger-light:#FBEAE9;
  --nlm-bottom:16px; --nlm-right:16px; --nlm-z:1050;
  --nlm-sans:var(--taxi-font-sans,'IBM Plex Sans',system-ui,sans-serif);
  --nlm-display:var(--taxi-font-display,'Archivo',system-ui,sans-serif);
  font-family:var(--nlm-sans); font-size:15px; line-height:1.5; color:var(--nlm-text);
}
.nlm-root *{box-sizing:border-box}
.nlm-root [hidden]{display:none!important}

.nlm-av{width:36px;height:36px;border-radius:50%;background:var(--nlm-sodium);border:2px solid var(--nlm-sodium);overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--nlm-sodium-ink);font-family:var(--nlm-display);font-weight:800;position:relative}
.nlm-av img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}

/* launcher */
.nlm-launch{position:fixed;z-index:var(--nlm-z);right:max(var(--nlm-right),env(safe-area-inset-right,0px));bottom:max(var(--nlm-bottom),env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:9px;min-height:56px;padding:6px 18px 6px 6px;border:none;border-radius:99px;background:var(--nlm-green);color:#fff;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 6px 18px -6px rgba(20,23,15,.5)}
.nlm-launch:hover{background:var(--nlm-green-2)}
.nlm-launch .nlm-av{width:44px;height:44px;overflow:visible}
.nlm-launch .nlm-av img{border-radius:50%}
.nlm-launch .nlm-av::after{content:"";position:absolute;right:-2px;top:-2px;width:11px;height:11px;border-radius:50%;background:#7CD97C;border:2px solid var(--nlm-green)}
.nlm-lbl{line-height:1.2;text-align:left}
.nlm-lbl small{display:block;font-weight:500;font-size:.72rem;opacity:.9}

/* panel */
.nlm-panel{position:fixed;z-index:var(--nlm-z);right:max(var(--nlm-right),env(safe-area-inset-right,0px));bottom:max(var(--nlm-bottom),env(safe-area-inset-bottom,0px));width:360px;height:min(520px,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;background:var(--nlm-white);border:1px solid var(--nlm-line);border-radius:18px;box-shadow:0 18px 44px -12px rgba(20,23,15,.5)}
.nlm-bar{display:flex;align-items:center;gap:11px;padding:12px 8px 12px 16px;background:var(--nlm-ink);color:#fff;flex:0 0 auto}
.nlm-bar .nlm-av-lg{width:36px;height:36px}
.nlm-t{flex:1;min-width:0}
.nlm-t b{display:block;font-family:var(--nlm-display);font-size:1rem;line-height:1.2}
.nlm-t span{display:flex;align-items:center;gap:6px;font-size:.73rem;opacity:.85}
.nlm-t em{font-style:normal}
.nlm-dot{width:8px;height:8px;border-radius:50%;background:#7CD97C;flex:0 0 auto}
.nlm-dot-off{background:#9A9686}
.nlm-x{width:44px;height:44px;border:none;background:none;color:#fff;font-size:1.5rem;line-height:1;border-radius:50%;cursor:pointer;flex:0 0 auto}
.nlm-x:hover{background:rgba(255,255,255,.12)}
.nlm-thread{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--nlm-bg)}
.nlm-msg{display:flex;gap:9px;align-items:flex-end}
.nlm-msg .nlm-av{width:26px;height:26px;font-size:.7rem}
.nlm-bub{max-width:86%;padding:10px 13px;background:var(--nlm-white);border:1px solid var(--nlm-line);border-radius:14px 14px 14px 4px;font-size:.9rem}
.nlm-bub p{margin:0}.nlm-bub p+p{margin-top:7px}
.nlm-me{justify-content:flex-end}
.nlm-me .nlm-bub{background:var(--nlm-green);border-color:var(--nlm-green);color:#fff;border-radius:14px 14px 4px 14px}
.nlm-chips{display:flex;flex-wrap:wrap;gap:7px;margin-left:35px}
.nlm-chip{min-height:44px;padding:0 14px;border:1px solid var(--nlm-line);border-radius:99px;background:var(--nlm-white);color:var(--nlm-ink);font:inherit;font-size:.83rem;font-weight:600;text-align:left;cursor:pointer}
.nlm-chip:hover:not([disabled]){border-color:var(--nlm-green);color:var(--nlm-green)}
.nlm-chip[disabled]{opacity:.5;cursor:not-allowed}
.nlm-hint{margin:0 0 0 35px;font-size:.72rem;color:var(--nlm-kerb)}

.nlm-lost{padding:10px 12px;background:var(--nlm-danger-light);border:1px solid var(--nlm-danger);border-radius:11px;color:var(--nlm-danger);font-size:.8rem}
.nlm-lost b{display:block;margin-bottom:2px}
.nlm-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.nlm-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--nlm-danger);border-radius:9px;background:var(--nlm-white);color:var(--nlm-danger);font:inherit;font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer}
.nlm-btn-cta{background:var(--nlm-sodium);border-color:var(--nlm-sodium);color:var(--nlm-ink)}

.nlm-composer{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--nlm-line);background:var(--nlm-white);flex:0 0 auto}
.nlm-say{flex:1;min-width:0;min-height:44px;padding:0 16px;border:1px solid var(--nlm-line);border-radius:99px;background:var(--nlm-bg);color:var(--nlm-text);font:inherit;font-size:16px}
.nlm-say::placeholder{color:var(--nlm-kerb)}
.nlm-say[disabled]{opacity:.55;cursor:not-allowed}
.nlm-send{width:44px;height:44px;border:none;border-radius:50%;background:var(--nlm-green);color:#fff;font-size:1.1rem;cursor:pointer;flex:0 0 auto}
.nlm-send[disabled]{background:var(--nlm-line);color:var(--nlm-kerb);cursor:not-allowed}

.nlm-person{padding:8px 12px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom,0px));background:var(--nlm-white);font-size:.72rem;color:var(--nlm-kerb);flex:0 0 auto}
.nlm-person p{margin:0}.nlm-person b{color:var(--nlm-ink)}
.nlm-pb{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.nlm-pbtn{flex:1 1 0;min-width:96px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--nlm-line);border-radius:10px;background:var(--nlm-white);color:var(--nlm-ink);font-weight:700;font-size:.8rem;text-decoration:none}
.nlm-pbtn:hover{border-color:var(--nlm-green);color:var(--nlm-green)}
.nlm-ic{display:flex}

.nlm-launch:focus-visible,.nlm-x:focus-visible,.nlm-chip:focus-visible,.nlm-say:focus-visible,.nlm-send:focus-visible,.nlm-btn:focus-visible,.nlm-pbtn:focus-visible{outline:3px solid var(--nlm-sodium);outline-offset:2px}

/* left side, for a page that already has another button bottom-right */
.nlm-root[data-side="left"] .nlm-launch,.nlm-root[data-side="left"] .nlm-panel{right:auto;left:max(var(--nlm-right),env(safe-area-inset-left,0px))}

/* cards drawn from what the service returns */
.nlm-box,.nlm-links{margin-left:35px}
.nlm-box{background:var(--nlm-white);border:1px solid var(--nlm-line);border-radius:12px;padding:4px 12px;display:flex;flex-direction:column}
.nlm-fc{display:flex;flex-direction:column}
.nlm-fr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--nlm-line);align-items:baseline}
.nlm-fr:last-child{border-bottom:none}
.nlm-fr b{font-size:.9rem}
.nlm-fr small{color:var(--nlm-kerb);font-size:.74rem}
.nlm-price{font-family:ui-monospace,'IBM Plex Mono',monospace;font-weight:600;font-size:.95rem;text-align:right;white-space:nowrap}
.nlm-kind{display:inline-block;white-space:nowrap;margin-right:6px;padding:1px 7px;border-radius:5px;background:rgba(80,113,34,.09);color:var(--nlm-green);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nlm-sel{grid-column:1 / -1;min-height:44px;margin-top:6px;border:1px solid var(--nlm-sodium);border-radius:9px;background:var(--nlm-sodium);color:var(--nlm-text);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.nlm-sel[aria-pressed="true"]{background:var(--nlm-white);color:var(--nlm-green);border-color:var(--nlm-green)}
.nlm-sel:focus-visible{outline:3px solid var(--nlm-sodium);outline-offset:2px}
.nlm-tag{margin-left:6px;padding:1px 6px;border-radius:5px;background:rgba(80,113,34,.09);color:var(--nlm-green);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.nlm-links{display:flex;flex-direction:column;gap:8px}
.nlm-links.nlm-pb{flex-direction:row;margin-top:0;margin-left:0}
.nlm-lk{display:block;min-height:44px;line-height:44px;text-align:center;text-decoration:none;border-radius:9px;background:var(--nlm-sodium);color:var(--nlm-ink);font-weight:700;font-size:.86rem}
.nlm-lk-alt{background:var(--nlm-white);border:1px solid var(--nlm-green);color:var(--nlm-green);line-height:42px;margin:4px 0 8px}
.nlm-think{margin-left:35px;font-size:.78rem;color:var(--nlm-kerb)}
.nlm-notice{margin-left:35px;padding:8px 11px;border-radius:10px;background:#FDF0DC;color:#A35A00;font-size:.8rem}
.nlm-clear{margin-top:2px;padding:0 4px;min-height:44px;border:none;background:none;color:var(--nlm-green);font:inherit;font-size:.72rem;text-decoration:underline;cursor:pointer}
.nlm-lk:focus-visible,.nlm-clear:focus-visible{outline:3px solid var(--nlm-sodium);outline-offset:2px}

/* phone: the panel takes the whole screen */
@media (max-width:640px){
  .nlm-panel,.nlm-root[data-side="left"] .nlm-panel{inset:0;width:auto;height:100dvh;border:none;border-radius:0}
}
@media (prefers-reduced-motion:no-preference){.nlm-launch:active{transform:scale(.97)}}
