/* FacilityInfo.css - Module-specific styles */
/* Layout shell from TwoColumnTemplate, FormGrid for booking settings rows */

/* Form fields stack inside Details ExpandablePanel content */
.fi-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.fi-image-preview {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    background-color: var(--color-bg-inset);
    border-radius: var(--border-radius-md);
}

.fi-image-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.fi-image-actions {
    display: flex;
    gap: var(--space-2);
    justify-content: flex-end;
}

.fi-upload-zone .upload-zone-label {
    padding: var(--space-4) var(--space-3);
    min-height: auto;
}

/* Sessions list (display-only; CRUD via Modal). Mirrors RestaurantInfo's meal-service rows. */
.fi-session-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.fi-session-item {
    border: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--border-radius-md);
    background: var(--bg-layer-4);
}

.fi-session-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
}

.fi-session-info {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: 1;
    min-width: 0;
}

.fi-session-name {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.fi-session-hours {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.fi-session-actions {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

/* Slot list inside a session */
.fi-slots-section {
    padding: 0 var(--space-3) var(--space-2);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.fi-slot-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.fi-slot-row {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1_5) var(--space-2);
    background: var(--bg-layer-3);
    border-radius: var(--border-radius-md);
    font-size: var(--text-xs);
}

.fi-slot-name {
    font-weight: 600;
    color: var(--text-primary);
}

.fi-slot-time {
    color: var(--text-muted);
}

.fi-slot-capacity,
.fi-slot-bookable {
    color: var(--text-body);
    white-space: nowrap;
}

.fi-slot-actions {
    display: flex;
    gap: var(--space-0_5);
}

@media (max-width: 700px) {
    .fi-slot-row {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-1);
    }
    .fi-slot-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

/* Booking settings */
.fi-settings-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}
