.company-hero {
    margin-bottom: 1.25rem;
}

.company-hero-head {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.company-hero-name {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: #1a1a1a;
}

.company-hero-social {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.company-hero-social a {
    color: var(--primary-color);
    font-size: 1.3rem;
    line-height: 1;
    text-decoration: none;
}

.company-hero-social a:hover {
    opacity: 0.8;
}

.company-hero-reviews {
    margin: 6px 0 10px;
}

.company-hero-desc {
    color: #6c757d;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* La descripción es texto plano y puede traer saltos de línea (la que manda "leads" para las
       demos viene de Google con párrafos). pre-line los respeta y sigue colapsando los espacios,
       sin necesidad de generar <br> en el HTML. Convive bien con el line-clamp. */
    white-space: pre-line;
}

.company-hero-desc.is-open {
    -webkit-line-clamp: unset;
}

.company-hero-leer-mas {
    display: inline-block;
    margin-top: 4px;
    font-size: 0.9rem;
    color: var(--primary-color);
    text-decoration: none;
}

.company-hero-leer-mas:hover {
    text-decoration: underline;
}

/* Tira de profesionales en el sidebar (abre el modal de horarios del equipo) */
/* Aire en la columna de ubicación: los datos de contacto venían muy pegados (mb-1). */
.company-info-card .card-body > .contact-item {
    margin-bottom: 0.6rem !important;
}

.hero-team-section {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid #ececec;
}

/* Cuando la tira es lo único de la tarjeta (empresa sin dirección), no hay contenido
   arriba: el divisor superior sobra. */
.hero-team-section--first {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.hero-team-label {
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6c757d;
    margin-bottom: 10px;
}

.hero-team-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-team-av {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 52px;
    text-align: center;
}

.hero-team-av img,
.hero-team-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto;
}

.hero-team-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-color);
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
}

.hero-team-name {
    display: block;
    font-size: 11px;
    color: #6c757d;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hero-team-av:hover img,
.hero-team-av:hover .hero-team-initials {
    outline: 2px solid var(--primary-color);
    outline-offset: 1px;
}

.hero-team-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--primary-color);
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
}

.hero-team-link:hover {
    text-decoration: underline;
}
