/* Britcarcheck Marketplace – Phase 4 (messages, notifications, favourites). Every selector is prefixed with "bccm-". */
.bccm-heartform{position:absolute;top:48px;right:12px;z-index:5;margin:0}
.bccm-card>.bccm-heart{position:absolute;top:48px;right:12px;z-index:5}
.bccm-heart{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;margin:0;border:0;border-radius:50%;cursor:pointer;color:var(--bccm-navy,#081c3d);background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(8,28,61,.22);transition:transform .2s,box-shadow .2s,color .2s}
.bccm-heart svg{fill:none;stroke:currentColor;stroke-width:2}
.bccm-heart svg path{fill:none}
.bccm-heart:hover,.bccm-heart:focus-visible{transform:scale(1.1);color:var(--bccm-red,#ff2d2d);box-shadow:0 0 0 1px rgba(255,45,45,.35),0 8px 24px rgba(255,45,45,.4);outline:0}
.bccm-heart.is-saved{color:#fff;background:linear-gradient(135deg,var(--bccm-red,#ff2d2d),var(--bccm-red-d,#d91616))}
.bccm-heart.is-saved svg path{fill:currentColor}
.bccm-msgbox{display:flex;flex-direction:column;gap:10px;margin:0}
.bccm-msgbox__text{width:100%;min-height:96px;resize:vertical;font-family:inherit;box-sizing:border-box}
.bccm-msgbox__link{align-self:flex-start}
.bccm-msgbox--reply{margin-top:18px;padding-top:18px;border-top:1px solid var(--bccm-line,#e3e8f1)}
.bccm-msgbox--reply .bccm-btn{align-self:flex-start}
.bccm-threads,.bccm-notif{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.bccm-thread{margin:0;border:1px solid var(--bccm-line,#e3e8f1);border-radius:14px;background:#fff;box-shadow:var(--bccm-shadow);transition:box-shadow .2s,transform .2s}
.bccm-thread:hover{box-shadow:var(--bccm-glow);transform:translateY(-1px)}
.bccm-thread.is-unread{border-color:var(--bccm-red,#ff2d2d)}
.bccm-wrap .bccm-thread__link{display:flex;align-items:center;gap:14px;padding:14px;color:inherit;text-decoration:none}
.bccm-avatar--sm{width:44px;height:44px;border-width:2px;box-shadow:none}
.bccm-thread__main{flex:1;min-width:0;display:flex;flex-direction:column}
.bccm-thread__title{color:var(--bccm-navy,#081c3d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bccm-thread__who{font-size:.82rem;color:var(--bccm-muted,#5b6b86)}
.bccm-thread__snip{font-size:.92rem;color:var(--bccm-ink,#0b1730);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bccm-thread__side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.bccm-badge-n,.bccm-bell__n{display:inline-block;min-width:22px;padding:2px 7px;border-radius:999px;font-size:.75rem;font-weight:800;line-height:1.4;text-align:center;color:#fff;background:var(--bccm-red,#ff2d2d);box-shadow:0 0 12px rgba(255,45,45,.5)}
.bccm-chat__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.bccm-chat{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto;padding:16px;border-radius:16px;background:var(--bccm-bg,#f5f7fb);-webkit-overflow-scrolling:touch}
.bccm-msg{display:flex;flex-direction:column;max-width:82%}
.bccm-msg--me{align-self:flex-end;align-items:flex-end}
.bccm-msg--them{align-self:flex-start;align-items:flex-start}
.bccm-msg__bubble{padding:10px 14px;border-radius:16px;font-size:.96rem;line-height:1.5;overflow-wrap:anywhere}
.bccm-msg--me .bccm-msg__bubble{color:#fff;border-bottom-right-radius:4px;background:linear-gradient(135deg,var(--bccm-navy,#081c3d),var(--bccm-navy-2,#0d2a57))}
.bccm-msg--them .bccm-msg__bubble{color:var(--bccm-ink,#0b1730);border-bottom-left-radius:4px;background:#fff;border:1px solid var(--bccm-line,#e3e8f1)}
.bccm-msg__meta{margin-top:4px;font-size:.75rem;color:var(--bccm-muted,#5b6b86)}
.bccm-notif__tools{display:flex;flex-wrap:wrap;gap:8px}
.bccm-notif__form{display:inline-block;margin:0}
.bccm-notif__item{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px;border:1px solid var(--bccm-line,#e3e8f1);border-radius:14px;background:#fff}
.bccm-notif__item.is-unread{background:#fff5f5;border-color:rgba(255,45,45,.35)}
.bccm-notif__dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--bccm-line,#e3e8f1)}
.bccm-notif__item.is-unread .bccm-notif__dot{background:var(--bccm-red,#ff2d2d);box-shadow:0 0 10px rgba(255,45,45,.7)}
.bccm-notif__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bccm-wrap .bccm-notif__title{font-weight:700;color:var(--bccm-navy,#081c3d);overflow-wrap:anywhere}
.bccm-wrap a.bccm-notif__title:hover{color:var(--bccm-red,#ff2d2d)}
.bccm-notif__prefs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}
.bccm-bell{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--bccm-navy,#081c3d);text-decoration:none}
.bccm-bell:hover{color:var(--bccm-red,#ff2d2d)}
.bccm-bell__n{position:absolute;top:-4px;right:-6px;min-width:18px;padding:1px 5px;font-size:.68rem}
.bccm-tab__n{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;font-size:.72rem;font-weight:800;color:#fff;background:var(--bccm-red,#ff2d2d)}
@media (max-width:600px){.bccm-msg{max-width:94%}.bccm-thread__snip{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bccm-notif__item{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.bccm-heart,.bccm-thread{transition:none}}

.bccm-bellbox{position:relative;display:inline-block}
.bccm-bellbox>summary{list-style:none;cursor:pointer}
.bccm-bellbox>summary::-webkit-details-marker{display:none}
.bccm-bellbox__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:320px;max-width:calc(100vw - 24px);padding:14px;border-radius:14px;background:#fff;color:var(--bccm-ink,#0b1730);border:1px solid var(--bccm-line,#e3e8f1);box-shadow:0 18px 44px rgba(8,28,61,.22)}
.bccm-bellbox__head{display:block;margin-bottom:8px;color:var(--bccm-navy,#081c3d)}
.bccm-bellbox__list{list-style:none;margin:0 0 10px;padding:0}
.bccm-bellbox__list li{margin:0;padding:8px 0;border-bottom:1px solid var(--bccm-line,#e3e8f1);font-size:.9rem;overflow-wrap:anywhere}
.bccm-bellbox__list li.is-unread{font-weight:700}
.bccm-bellbox__list a{color:inherit;text-decoration:none}
.bccm-bellbox__list a:hover{color:var(--bccm-red,#ff2d2d)}
.bccm-bellbox__empty{margin:0 0 10px;font-size:.9rem;color:var(--bccm-muted,#5b6b86)}
.bccm-bellbox__all{display:block;text-align:center;font-weight:700;font-size:.9rem;color:var(--bccm-red,#ff2d2d);text-decoration:none}
.bccm-msgwrap{max-width:560px;margin:0 auto;padding:18px}
@media (max-width:480px){.bccm-bellbox__menu{position:fixed;left:12px;right:12px;top:64px;width:auto;max-width:none}}
