/* Barra del piso ------------------------------------------------------- */

.floor-header {
    cursor: pointer;
    border: 0;
    border-bottom: var(--bs-card-border-width) solid var(--bs-primary-border-subtle);
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Abierto, el piso toma el tono primario; cerrado se queda en gris. */
.floor-header[aria-expanded="true"] {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
}

/* Cerrado no hay lista debajo: el borde inferior sería una segunda línea
   pegada al borde de la tarjeta. */
.floor-header[aria-expanded="false"] {
    border-bottom-color: transparent;
}

.floor-header:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: -2px;
}

/* `text-truncate` necesita que el contenedor flex pueda encogerse. */
.floor-title {
    min-width: 0;
}

/* El adelanto sólo informa mientras el piso está cerrado. */
.floor-header[aria-expanded="true"] .floor-peek {
    display: none;
}

.toggle-icon {
    transition: transform 0.3s ease;
}

[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}

/* Ubicaciones ---------------------------------------------------------- */

.location-icon {
    width: 2.25rem;
    height: 2.25rem;
}

/* El borde va siempre puesto, transparente: pintarlo sólo en :hover movía
   la fila entera tres píxeles al pasar el cursor. */
.location-item {
    border-left: 3px solid transparent;
    transition: background-color 0.15s ease, border-left-color 0.15s ease;
}

.location-item:hover,
.location-item:focus-within {
    border-left-color: var(--bs-primary);
    background-color: var(--bs-primary-bg-subtle);
}

.location-name {
    min-width: 0;
}

.location-mark {
    padding: 0;
    border-radius: 2px;
    background-color: var(--bs-warning-bg-subtle);
    color: inherit;
}

.location-empty {
    border: 1px dashed var(--bs-border-color);
}
