/* ── Existing ── */
.b2b-tag-list { min-height: 50px; padding: 6px; border: 1px dashed #ddd; border-radius: 4px; }
.b2b-tag { display: inline-block; margin: 3px; font-size: 13px; padding: 5px 8px; cursor: default; }
#b2b-map { height: 400px; border-radius: 6px; border: 1px solid #ddd; margin-bottom: 15px; }
#b2b-matches-map { height: 380px; border-radius: 6px; border: 1px solid #ddd; margin-bottom: 20px; }

.b2b-tag-need {
    background-color: #e67e22 !important;
    color: #ffffff !important;
    border-color: #e67e22 !important;
}
.b2b-tag-need a { color: #ffffff !important; }

/* ── Verde suave para "Ofrece" en vista de perfil ── */
.b2b-tag-offer {
    background-color: #5a8f5a !important;
    color: #ffffff !important;
    border-color: #5a8f5a !important;
}
.b2b-tag-offer a { color: #ffffff !important; }

/* ── Accordion de selección de servicios ── */
.b2b-accordion {
    border: 1px solid #d8d8e8;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 16px;
}
.b2b-cat-block {
    border-bottom: 1px solid #e0e0e8;
}
.b2b-cat-block:last-child {
    border-bottom: none;
}
.b2b-cat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #f5f6fa;
    cursor: pointer;
    user-select: none;
}
.b2b-cat-header:hover {
    background: #ecedf5;
}
.b2b-cat-title {
    flex: 1;
    font-weight: 600;
    font-size: .93rem;
    color: #333;
}
/* Ícono chevron: rota con CSS, más confiable */
.b2b-cat-chevron {
    color: #888;
    transition: transform .22s ease;
    font-size: 12px;
    width: 14px;
    text-align: center;
}
.b2b-cat-block.b2b-open .b2b-cat-chevron {
    transform: rotate(180deg);
}
.b2b-cat-all-label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .82rem;
    color: #555;
    font-weight: normal;
    margin: 0;
    cursor: pointer;
    white-space: nowrap;
}
.b2b-cat-body {
    background: #fff;
    display: none;
}
.b2b-cat-block.b2b-open .b2b-cat-body {
    display: block;
}

/* ── Fila de servicio ── */
.b2b-svc-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 9px 16px;
    border-bottom: 1px solid #f2f2f5;
}
.b2b-svc-row:last-child {
    border-bottom: none;
}
.b2b-svc-name {
    flex: 1;
    min-width: 140px;
    font-size: .9rem;
    color: #333;
}

/* ── Botones pill Ofrezco / Necesito ── */
.b2b-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 20px;
    border: 2px solid transparent;
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    user-select: none;
    white-space: nowrap;
}
.b2b-pill input[type="checkbox"] {
    display: none;
}

/* Ofrezco — apagado */
.b2b-pill-offer {
    background: #f0f8f0;
    border-color: #b2d8b2;
    color: #4a7a4a;
}
.b2b-pill-offer:hover {
    background: #dff0df;
    border-color: #7aba7a;
}
/* Ofrezco — encendido */
.b2b-pill-offer.b2b-on {
    background: #4a7a4a;
    border-color: #3a6a3a;
    color: #fff;
}

/* Necesito — apagado */
.b2b-pill-need {
    background: #fff8f0;
    border-color: #f5c98a;
    color: #7a4a00;
}
.b2b-pill-need:hover {
    background: #fde8c4;
    border-color: #e6a040;
}
/* Necesito — encendido */
.b2b-pill-need.b2b-on {
    background: #c96a00;
    border-color: #a05200;
    color: #fff;
}
