/* Buyer <-> seller chat (t376 2026-10-19). Light cards so text stays readable over page themes. */
.chat{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;align-items:start;color:#0f1f2e;margin-top:1rem;margin-bottom:2rem}
.chat-list,.chat-thread{background:#fff;border:1px solid #dfe6f0;border-radius:14px;box-shadow:0 2px 10px rgba(15,38,72,.06)}
.chat-list{padding:.75rem;max-height:calc(100vh - 180px);overflow:auto}
.chat-list__head h1{font-size:1.25rem;margin:.1rem 0 .5rem;color:#0f2648}
.chat-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}
.chat-tabs a{font-size:.8rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;border:1px solid #c7d2dc;color:#0f2648;text-decoration:none;background:#fff}
.chat-tabs a.on{background:#0f2648;color:#fff;border-color:#0f2648}
.chat-empty{color:#3d5266;font-size:.9rem;margin:.5rem 0}
.chat-list__items{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.chat-li{display:flex;gap:.6rem;align-items:center;padding:.55rem;border-radius:10px;text-decoration:none;color:#0f1f2e}
.chat-li:hover,.chat-li.is-active{background:#eef4fc}
.chat-li__avatar{flex:0 0 36px;height:36px;border-radius:50%;background:#1d76ff;color:#fff;display:grid;place-items:center;font-weight:800}
.chat-li__main{min-width:0;flex:1;display:grid}
.chat-li__main strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-li__main em{font-style:normal;font-size:.72rem;color:#3d5266}
.chat-li__main small{font-size:.8rem;color:#3d5266;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-li.is-unread strong,.chat-li.is-unread small{color:#0f1f2e;font-weight:800}
.chat-li__badge{background:#e5372b;color:#fff;font-size:.72rem;font-weight:800;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;padding:0 6px}
.chat-thread{display:flex;flex-direction:column;min-height:520px;max-height:calc(100vh - 160px);overflow:hidden}
.chat-thread--empty{display:grid;place-items:center;color:#3d5266}
.chat-thread__head{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid #edf1f6}
.chat-thread__title{flex:1;min-width:0;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.chat-thread__title strong{font-size:1.05rem;color:#0f2648}
.chat-thread__title a{font-size:.82rem;color:#1d5fd0}
.chat-back{display:none;text-decoration:none;font-size:1.3rem;color:#0f2648;padding:0 .3rem}
.chat-linkbtn{background:none;border:0;color:#1d5fd0;font:inherit;font-size:.85rem;cursor:pointer;padding:.2rem .4rem}
.chat-safety{position:sticky;top:0;z-index:2;display:flex;gap:.6rem;align-items:flex-start;background:#fff8e6;border-bottom:1px solid #f3d590;padding:.55rem .9rem;color:#3a2a0c}
.chat-safety p{margin:0;flex:1;font-size:.84rem;line-height:1.4;font-weight:600}
.chat-report summary{cursor:pointer;font-size:.82rem;font-weight:800;color:#9b1c13;list-style:none;padding:.15rem .55rem;border:1px solid #e9a39b;border-radius:999px;background:#fff}
.chat-report summary::-webkit-details-marker{display:none}
.chat-report[open] form{position:absolute;right:.9rem;top:2.6rem;background:#fff;border:1px solid #dfe6f0;border-radius:12px;padding:.7rem;display:grid;gap:.45rem;width:min(320px,80vw);box-shadow:0 8px 24px rgba(0,0,0,.12);color:#0f1f2e}
.chat-report label{display:grid;gap:.2rem;font-size:.8rem;font-weight:700}
.chat-report select,.chat-report textarea{font:inherit;font-size:.85rem;border:1px solid #c7d2dc;border-radius:8px;padding:.35rem;color:#0f1f2e;background:#fff}
.chat-msgs{flex:1;overflow:auto;padding:.9rem;display:flex;flex-direction:column;gap:.55rem;background:#f7f9fc}
.chat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:78%}
.chat-msg--mine{align-self:flex-end;align-items:flex-end}
.chat-msg--note{align-self:center;max-width:90%;align-items:center}
.chat-msg__bubble{background:#fff;border:1px solid #e1e8f1;border-radius:14px 14px 14px 4px;padding:.5rem .7rem;color:#0f1f2e}
.chat-msg--mine .chat-msg__bubble{background:#1d5fd0;border-color:#1d5fd0;color:#fff;border-radius:14px 14px 4px 14px}
.chat-msg--note .chat-msg__bubble{background:#eef4fc;border-color:#c9daf3;border-radius:10px}
.chat-msg--held .chat-msg__bubble{background:#eceff3;border:1px dashed #8a99ab;color:#3d5266}
.chat-msg__who{display:block;font-size:.72rem;font-weight:800;color:#3d5266;margin-bottom:.15rem}
.chat-msg--mine .chat-msg__who{color:#dce8ff}
.chat-msg__text{font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}
.chat-msg__meta{display:block;font-size:.7rem;opacity:.8;margin-top:.2rem;text-align:right}
.chat-msg__imgs{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}
.chat-msg__imgs img{max-width:160px;max-height:160px;width:auto;height:auto;border-radius:8px;display:block;background:#dfe6f0}
.chat-caution{margin:.25rem 0 0;background:#fff3c4;border:1px solid #f0c94a;color:#4a3700;border-radius:8px;padding:.3rem .55rem;font-size:.78rem;font-weight:700;max-width:100%}
.chat-held{margin:.2rem 0 0;font-size:.75rem;font-weight:700;color:#7a4b00}
.chat-flags{margin:.2rem 0 0;font-size:.72rem;font-weight:700;color:#9b1c13}
.chat-ctx{display:flex;gap:.55rem;align-items:center;background:#fff;border:1px solid #dfe6f0;border-radius:10px;padding:.35rem .5rem;margin-bottom:.3rem;text-decoration:none;color:#0f1f2e;max-width:320px}
.chat-ctx__img{flex:0 0 44px;width:44px;height:44px;border-radius:8px;overflow:hidden;display:block}
.chat-ctx__img>*{width:44px!important;height:44px!important;min-height:0!important;border-radius:8px}
.chat-ctx__img img{width:44px;height:44px;object-fit:cover}
.chat-ctx--order .chat-ctx__img{display:none}
.chat-ctx__body{display:grid;min-width:0}
.chat-ctx__body strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-ctx__body small{font-size:.76rem;color:#3d5266}
.chat-ctx--draft{margin:0 0 .4rem}
.chat-compose{border-top:1px solid #edf1f6;padding:.6rem .9rem;background:#fff}
.chat-compose__row{display:flex;gap:.5rem;align-items:flex-end}
.chat-compose textarea{flex:1;font:inherit;font-size:.95rem;border:1px solid #c7d2dc;border-radius:12px;padding:.55rem .7rem;resize:none;min-height:42px;max-height:160px;color:#0f1f2e;background:#fff}
.chat-attach{position:relative;flex:0 0 42px;height:42px;border:1px solid #c7d2dc;border-radius:12px;display:grid;place-items:center;cursor:pointer;font-size:1.1rem;background:#fff}
.chat-attach input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.chat-send{min-height:42px}
.chat-previews{display:flex;gap:.35rem;flex-wrap:wrap}
.chat-previews:not(:empty){margin-bottom:.4rem}
.chat-previews span{position:relative}
.chat-previews img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #dfe6f0;display:block}
.chat-previews button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#0f2648;color:#fff;font-size:.7rem;cursor:pointer;line-height:20px;padding:0}
.chat-warn{background:#fff3c4;border:1px solid #f0c94a;color:#4a3700;border-radius:10px;padding:.55rem .7rem;margin-bottom:.5rem}
.chat-warn p{margin:0 0 .4rem;font-size:.86rem;font-weight:700}
.chat-warn__btns{display:flex;gap:.4rem;flex-wrap:wrap}
.chat-warn__send{background:#7a4b00;border-color:#7a4b00}
.chat-error{background:#fde2e0;border:1px solid #f1a39b;color:#7a140c;border-radius:10px;padding:.45rem .7rem;margin-bottom:.5rem;font-size:.85rem;font-weight:700}
.chat-restricted{margin:0;padding:.8rem .9rem;border-top:1px solid #edf1f6;color:#7a140c;font-weight:700;background:#fff}
.chat-seen{font-weight:700}
.chat-start{font-weight:700}
.chat-start--btn{display:inline-flex;align-items:center}
@media (max-width:820px){
  .chat{grid-template-columns:1fr;margin-top:.5rem}
  .chat--open .chat-list{display:none}
  .chat:not(.chat--open) .chat-thread--empty{display:none}
  .chat-back{display:inline-block}
  .chat-thread{min-height:calc(100vh - 170px);max-height:none;border-radius:12px}
  .chat-msg{max-width:88%}
  .chat-list{max-height:none}
  .chat-safety p{font-size:.8rem}
}
/* Mission Control Chat safety */
.csq{display:grid;gap:1rem;color:#0f1f2e;min-width:0}
.csq-card{background:#fff;border:1px solid #dfe6f0;border-radius:14px;padding:1rem;color:#0f1f2e;min-width:0}
.csq-card h2,.csq-card h3{margin:0 0 .3rem;color:#0f2648}
.csq-meta{font-size:.84rem;color:#3d5266;margin:.25rem 0}
.csq-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}
.csq-tabs a{font-size:.85rem;font-weight:700;padding:.35rem .75rem;border-radius:999px;border:1px solid #c7d2dc;color:#0f2648;text-decoration:none;background:#fff}
.csq-tabs a.on{background:#0f2648;color:#fff;border-color:#0f2648}
.csq-t{width:100%;border-collapse:collapse;font-size:.86rem}
.csq-t th,.csq-t td{text-align:left;padding:.5rem;border-bottom:1px solid #edf1f6;vertical-align:top;color:#0f1f2e}
.csq-t th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#3d5266}
.csq-s{display:inline-block;font-size:.72rem;font-weight:800;padding:.12rem .45rem;border-radius:999px;margin:0 .2rem .2rem 0}
.csq-s--held{background:#fff3d6;color:#7a4b00}.csq-s--rep{background:#fde2e0;color:#9b1c13}.csq-s--flag{background:#e7efff;color:#163f86}.csq-s--ok{background:#dcf7e6;color:#0d6a3a}
.csq-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:1rem;align-items:start}
.csq-act{display:flex;gap:.35rem;margin:.35rem 0}
.csq-act input{flex:1;min-width:0;font:inherit;font-size:.82rem;border:1px solid #c7d2dc;border-radius:8px;padding:.3rem .45rem;color:#0f1f2e;background:#fff}
.csq-act .button{white-space:nowrap}
.csq-danger{background:#9b1c13!important;border-color:#9b1c13!important}
.chat-thread--staff{max-height:none;min-height:0;padding:0}
.chat-thread--staff .chat-msgs{max-height:70vh}
@media (max-width:900px){.csq-grid{grid-template-columns:1fr}.csq-t thead{display:none}.csq-t tr{display:grid;padding:.5rem 0;border-bottom:1px solid #edf1f6}.csq-t td{border:0;padding:.12rem 0}}

/* ---------------------------------------------------------------- t383 shopper-facing chat */
/* Header Messages icon: same size/halo as the cart, line icon like the card heart/cart, pill badge like the cart badge. */
.ash-msgs{display:inline-flex;align-items:center;gap:.4rem;color:var(--ash-white,#fff);text-decoration:none;position:relative}
.ash-msgs:hover{color:var(--ash-cyan-soft,#8debf8)}
.ash-msgs:focus-visible{outline:2px solid var(--ash-cyan,#12d9f3);outline-offset:3px;border-radius:4px}
.ash-msgs__icon{position:relative;display:inline-flex;width:clamp(2.15rem,4.2vw,2.65rem);height:clamp(2.15rem,4.2vw,2.65rem);align-items:center;justify-content:center;flex-shrink:0}
.ash-msgs__icon svg{width:72%;height:72%;filter:drop-shadow(0 0 4px rgba(18,217,243,.35))}
.ash-msgs__badge{position:absolute;top:2%;right:-12%;z-index:3;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:20px;min-width:20px;padding:0 5px;border:2px solid #083858;border-radius:999px;background:#ff3b30;color:#fff;font:800 11px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none}
.ash-msgs__badge[hidden]{display:none}
.ash-msgs__label{font-size:1rem;font-weight:800;line-height:1}
/* t383c/d: icon only below 1920px, and the header's right grid column grows to 400px when the Messages icon is present so
   Hello/Account, Dashboard and Join never slide under the centred search bar (1200-1919px, guest and signed in). */
@media (max-width:1919px){.ash-msgs__label{display:none}}
@media (min-width:1200px){body:not(:has(.control-shell)) .ash-site-header .ash-header-main:has(.ash-msgs){--ash-side:400px}}
@media (max-width:767px){.ash-msgs__icon{width:clamp(2rem,10vw,2.4rem);height:clamp(2rem,10vw,2.4rem)}}

/* "Ask the seller" / "Chat with this store" / order "Contact … report a problem": real buttons */
.chat-ask{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.55rem 1.1rem;border-radius:999px;border:2px solid #0f7a96;background:#fff;color:#0b5d73!important;font-weight:800;text-decoration:none;line-height:1.1;cursor:pointer;box-shadow:0 1px 2px rgba(15,38,72,.08)}
.chat-ask:hover{background:#e8f7fb;border-color:#0b5d73}
.chat-ask:focus-visible{outline:3px solid #12d9f3;outline-offset:2px}
.chat-ask svg{flex:0 0 auto}
.chat-ask--order{min-height:36px;padding:.35rem .85rem;font-size:.85rem}
.chat-start--btn{display:inline-flex;align-items:center;gap:.4rem}
.chat-start svg{vertical-align:-4px;margin-right:2px}
.pdp-ask{display:grid;gap:.35rem;margin:.6rem 0 .2rem}
.pdp-ask .chat-ask{width:100%}
.pdp-ask small{font-size:.78rem;color:#3d5266;text-align:center}
.acct-chat-row{margin:.25rem 0 .7rem}

/* Thread extras */
.chat-thread__avatar{flex:0 0 32px;height:32px;font-size:.9rem}
.chat-iconbtn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #c7d2dc;background:#fff;color:#0f7a96;cursor:pointer}
.chat-iconbtn:hover{background:#e8f7fb}
.chat-iconbtn[disabled]{opacity:.5;cursor:default}
.chat-safety{align-items:center}
.chat-safety__icon{flex:0 0 auto;color:#8a5a00;display:grid}
.chat-safety p{font-size:.8rem;line-height:1.35}
.chat-hint{margin:auto 0 0;color:#3d5266;font-size:.86rem;text-align:center;padding:.5rem}
.chat-event{align-self:center;display:inline-flex;align-items:center;gap:.4rem;background:#eef4fc;border:1px solid #c9daf3;color:#163f86;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:700}
.chat-event small{font-weight:600;color:#3d5266}
.chat-event--missed{background:#fdecea;border-color:#f3b8b1;color:#9b1c13}
.chat-ctx{position:relative}
.chat-ctx__body em{font-style:normal;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#0f7a96}
.chat-ctx__x{position:absolute;top:2px;right:4px;border:0;background:none;font-size:1.05rem;line-height:1;color:#3d5266;cursor:pointer;padding:.15rem .3rem}
.chat-ctx--draft{padding-right:1.6rem}
.chat-attach svg{display:block}
.chat-send{border-radius:12px}

/* ---------------------------------------------------------------- chat dock */
.chat-dock{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:1100;font-family:inherit;color:#0f1f2e;pointer-events:none}
.chat-dock>*{pointer-events:auto}
.chat-dock__launcher{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:0;background:linear-gradient(135deg,#0f7a96,#1d5fd0);color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(15,38,72,.32),0 0 0 3px rgba(255,255,255,.9);margin-left:auto;transition:transform .15s}
.chat-dock__launcher:hover{transform:scale(1.05)}
.chat-dock__launcher:focus-visible{outline:3px solid #12d9f3;outline-offset:3px}
.chat-dock__badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ff3b30;color:#fff;font:800 12px/22px system-ui,sans-serif;text-align:center;border:2px solid #fff;box-sizing:border-box}
.chat-dock__badge[hidden]{display:none}
.chat-dock.is-open .chat-dock__launcher{display:none}
.chat-dock__panel{position:absolute;right:0;bottom:0;width:380px;height:min(600px,calc(100vh - 96px));background:#fff;border:1px solid #d5dde8;border-radius:16px;box-shadow:0 18px 50px rgba(15,38,72,.3);display:flex;flex-direction:column;overflow:hidden}
.chat-dock__panel[hidden]{display:none}
.chat-dock__bar{display:flex;align-items:center;gap:.25rem;padding:.45rem .5rem .45rem .85rem;background:linear-gradient(135deg,#0f7a96,#1d5fd0);color:#fff;flex:0 0 auto}
.chat-dock__bar strong{flex:1;min-width:0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-dock__btn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:#fff;cursor:pointer;text-decoration:none}
.chat-dock__btn:hover{background:rgba(255,255,255,.18)}
.chat-dock__btn:focus-visible{outline:2px solid #fff;outline-offset:1px}
.chat-dock__btn[hidden]{display:none}
.chat-dock__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.chat-dock__loading,.chat-dock__msg{margin:auto;color:#3d5266;font-size:.9rem;padding:1rem;text-align:center}
.chat-dock__list{overflow:auto;padding:.4rem}
.chat-dock__list .chat-empty{padding:1rem .6rem;text-align:center}
.chat-dock .chat-thread{min-height:0;max-height:none;height:100%;border:0;border-radius:0;box-shadow:none;flex:1}
.chat-dock .chat-thread__head{padding:.5rem .7rem}
.chat-dock .chat-back{display:none}
.chat-dock .chat-msgs{padding:.7rem}
.chat-dock .chat-msg{max-width:86%}
.chat-dock .chat-compose{padding:.5rem .6rem}
.chat-dock .chat-report[open] form{right:.5rem;top:2.4rem}
/* incoming call + in-call bar */
.chat-ring,.chat-callbar{position:absolute;right:0;bottom:70px;width:320px;background:#0f2648;color:#fff;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:.8rem .9rem}
.chat-dock.is-open .chat-ring,.chat-dock.is-open .chat-callbar{bottom:calc(min(600px,100vh - 96px) + 10px)}
.chat-ring[hidden],.chat-callbar[hidden]{display:none}
.chat-ring p{margin:0 0 .6rem;display:grid}
.chat-ring small{opacity:.8}
.chat-ring__btns{display:flex;gap:.5rem}
.chat-ring__btns button,.chat-callbar button{flex:1;border:0;border-radius:999px;padding:.55rem .8rem;font-weight:800;cursor:pointer;min-height:40px}
.chat-ring__yes{background:#1f9d61;color:#fff}
.chat-ring__no,.chat-callbar__end{background:#d92d20;color:#fff}
.chat-callbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.chat-callbar span{flex:1 1 100%;font-size:.85rem}
.chat-callbar strong{font-variant-numeric:tabular-nums}
.chat-callbar__mute{background:#fff;color:#0f2648}
.chat-callbar__mute[aria-pressed="true"]{background:#ffd27a}
/* Phones: the open panel is full screen. Launcher sits above any bottom bars on the cart page. */
@media (max-width:640px){
  .chat-dock.is-open{inset:0;right:0;bottom:0}
  .chat-dock.is-open .chat-dock__panel{position:fixed;inset:0;width:auto;height:auto;border-radius:0;border:0}
  .chat-dock__launcher{width:54px;height:54px}
  .chat-ring,.chat-callbar{position:fixed;left:12px;right:12px;width:auto;bottom:84px}
  .chat-dock.is-open .chat-ring,.chat-dock.is-open .chat-callbar{bottom:auto;top:64px}
  body.chat-dock-lock{overflow:hidden}
}
@media print{.chat-dock{display:none}}

/* t383b: keep the dock launcher clear of the right rail (>= 1800px). The rail's sticky column stops 88px above the
   viewport bottom so the round launcher (16px + 58px) never sits on a rail card. */
@media (min-width: 1800px) {
  body:has(.chat-dock) .sf-rail--right .sf-rail__inner { max-height: calc(100vh - var(--sf-header-h, 120px) - 28px - 88px); }
}

/* t383d: clickable product / order context cards (whole card is the link). */
.chat-ctx__link{display:flex;gap:.55rem;align-items:center;min-width:0;flex:1;color:inherit;text-decoration:none;border-radius:8px}
a.chat-ctx--link{cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
a.chat-ctx.chat-ctx--link:hover,.chat-ctx--draft:has(a.chat-ctx--link:hover){border-color:#12a7c9;background:#f3fbfe;box-shadow:0 2px 8px rgba(12,30,54,.1)}
a.chat-ctx--link:hover strong{text-decoration:underline}
a.chat-ctx.chat-ctx--link:focus-visible,.chat-ctx__link.chat-ctx--link:focus-visible{outline:3px solid #12d9f3;outline-offset:2px}
.chat-ctx--draft{padding-right:1.9rem}
