/* ── Avatar ── */
.avatar-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.avatar-sm {
    width: 32px;
    height: 32px;
    font-size: .8rem;
}

/* ── Service card hover ── */
.service-card {
    transition: transform .15s ease, box-shadow .15s ease;
    cursor: pointer;
}
.service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.1);
}

/* ── Two-line clamp ── */
.two-line {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Category badge colours ── */
.category-badge { color: #fff; }
.category-badge[data-cat="HOME_SERVICES"]   { background-color: #2563eb; }
.category-badge[data-cat="BEAUTY_WELLNESS"] { background-color: #db2777; }
.category-badge[data-cat="TUTORING"]        { background-color: #7c3aed; }
.category-badge[data-cat="FITNESS"]         { background-color: #059669; }
.category-badge[data-cat="TECH_SUPPORT"]    { background-color: #0891b2; }
.category-badge[data-cat="EVENTS"]          { background-color: #d97706; }
.category-badge[data-cat="PET_SERVICES"]    { background-color: #65a30d; }
.category-badge[data-cat="AUTOMOTIVE"]      { background-color: #dc2626; }
.category-badge[data-cat="LEGAL"]           { background-color: #374151; }
.category-badge[data-cat="FINANCIAL"]       { background-color: #1d4ed8; }
.category-badge[data-cat="CREATIVE"]        { background-color: #9333ea; }
.category-badge[data-cat="HEALTH"]          { background-color: #be123c; }

/* ── Category chip ── */
.category-chip.active {
    background-color: var(--bs-primary);
    color: #fff;
}

/* ── Chat bubbles ── */
.chat-bubble {
    max-width: 70%;
    border-radius: 18px;
    word-break: break-word;
}
.chat-bubble-me {
    background-color: var(--bs-primary);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.chat-bubble-them {
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-bottom-left-radius: 4px;
}

/* ── Role card selection (signup) ── */
.role-card {
    cursor: pointer;
    transition: all .15s ease;
}
.role-card:hover {
    border-color: var(--bs-primary) !important;
}

/* ── Star picker ── */
.star-picker span {
    transition: color .1s;
}

/* ── Misc ── */
.cursor-pointer { cursor: pointer; }

/* ── Intake widget (public login page) ── */
#intake-widget-public {
    border-left: 4px solid var(--bs-primary) !important;
    border-right: 4px solid var(--bs-primary) !important;
}

/* ── AI Hero Widget (browse page) ── */
.ai-hero-widget {
    background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
    color: #fff;
    border: none !important;
}
.ai-hero-widget h4,
.ai-hero-widget p { color: #fff; }
.ai-hero-widget .input-group-text { border-color: #fff; }
.ai-hero-widget .form-control {
    border-color: #fff;
}
.ai-hero-widget .btn-light {
    color: #1d4ed8;
    font-weight: 600;
}
.ai-hero-widget .intake-results .card { background: rgba(255,255,255,0.95); }

.intake-results .card {
    transition: transform .15s ease, box-shadow .15s ease;
}
.intake-results .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
}

.intake-summary .badge {
    font-size: .8rem;
}
